22

我想渲染一行文本,其中一些单词以不同的颜色突出显示。

理想情况下,我会使用带有 react 的 span 标签来做到这一点。

想知道我如何对 react-native 做同样的事情?

4

3 回答 3

54

您可以通过使用嵌套的 Text 组件来实现这一点

<Text style={{color: 'blue'}}>
    I am blue
    <Text style={{color: 'red'}}>
        i am red
    </Text>
    and i am blue again
</Text>

这是文档的链接,可以更好地解释它

于 2015-03-31T15:49:57.897 回答
2

你可以做得更好,我的方式:

CText = (props) => <Text style={{color: props.color}}>{props.children}</Text>

内部渲染添加:

const CText = this.CText

并返回

<Text>I am <CText color={'red'}>Blue color</CText> and <CText color={'blue'}>Blue color</CText></Text>
于 2019-08-21T11:42:26.787 回答
2

简单地嵌套<Text>元素

<Text>
    I am some text with 
    <Text style={{fontWeight: 'bold'}}>bold</Text> 
    stuff
<Text>
于 2019-12-11T17:28:29.870 回答