带有 styled-components parent prop 的 react-native

标签 react-native styled-components

我在我的 react-native 项目中使用 styled-components,我想知道如何从子元素中获取父 prop ..这是一个例子,我有 2 个 styled-components

const First = styled.View`
  display: flex;
  width: 50px;
  height: 50px;
  background-color: ${props => props.selected ? 'blue' : 'red'};
`
const Second = styled.Text`
  // here I want to check if First has the selected prop.
  color: ${props => props.selected ? '#fff' : '#000'};
`

和我自己的 React 组件

const Test = () = (
  <First selected>
    <Second>Test</Second>
  </First>
)

现在如何检查 Seconds 父亲(即 First)是否具有 selected 属性? 我知道如果我将选定的属性赋予 Second 它将起作用,但这不是我想要实现的目标......必须有一种方法,因为它们嵌套,我试图控制台日志和props arg 但我无法在子对象返回的对象中找到父值。

谢谢

最佳答案

如果您想遵循 React 的模式,有一种方法。将相同的 Prop 传递给 <second> .

不过,您可以做的是像下面这样为 child 使用适当的 Prop

const Test = () = (
  <First selected>
    <Second isParentSelected={selected} >Test</Second>
  </First>
)

然后

const Second = styled.Text`
  color: ${props => props.isParentSelected ? '#fff' : '#000'};
`

关于带有 styled-components parent prop 的 react-native,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46401488/

相关文章:

node.js - 如何从react native上传图片到nodejs?

react-native - 是否可以将标签包装到变量中?

typescript - 在 Typescript 中使用附加字段 react native 自定义 TextInput

javascript - 对样式组件概念的误解

javascript - 如何在 React 样式组件中使用 this.props

javascript - 在 React 风格的组件中使用 props

reactjs - 保存 react 组件并稍后加载

javascript - 如何使本地 APNS 推送通知静音?

react-native - React Native - NavigatorIOS 和 TabBarIOS 实现

reactjs - 样式组件的多个 Props 选项