如何在带有样式组件的React Native中为Text子元素设置样式?

时间:2020-10-14 12:42:30

标签: reactjs react-native styled-components

所以如果我有这个

const MyView = styled.View`
    background: green;
    color: red;
`

我有

<MyView>
  <Text> Hello </Text>
</MyView>

文字不是红色

所以我尝试了

const MyView = styled.View`
    background: green;
    & > Text { color: red; }
`

您可以使用React中的常规样式组件来执行此操作,但是文本仍不是红色

我该如何实现?

我知道我能做

const StyledText = styled.Text`
    color: red;
`

然后

    <MyView>
      <StyledText> Hello </StyledText>
    </MyView>

但是我想避免这种情况。是否可以在RN中访问Text子元素?

2 个答案:

答案 0 :(得分:2)

不幸的是,RN的样式化组件只是一个包装,该包装返回了样式支持<View style={...styles} />的常见RN视图(或文本)。无法在父块中设置子元素的样式。

答案 1 :(得分:0)

就像Batraz Jioty在回答中提到的那样,我认为这是不可能的。 RN中的样式继承非常有限。我相信您可以实现这样的目标,即仅将一个内部放置在另一个内部,但从View来看,这是不可能的