我想在React Native的文本组件中插入一个新行(如\r\n, <br />)。
如果我有:
<text>
<br />
Hi~<br />
this is a test message.<br />
</text>
然后React Native渲染Hi~这是一个测试消息。
它是可能的渲染文本添加一个新的行像这样:
Hi~
this is a test message.
我想在React Native的文本组件中插入一个新行(如\r\n, <br />)。
如果我有:
<text>
<br />
Hi~<br />
this is a test message.<br />
</text>
然后React Native渲染Hi~这是一个测试消息。
它是可能的渲染文本添加一个新的行像这样:
Hi~
this is a test message.
当前回答
解决方案1:
<Text>
line 1{"\n"}
line 2
</Text>
解决方案2:
<Text>{`
line 1
line 2
`}</Text>
解决方案3:
以下是我处理多个<br/>标签的解决方案:
<Text style={{ whiteSpace: "pre-line" }}>
{"Hi<br/> this is a test message.".split("<br/>").join("\n")}
</Text>
解决方案4:
使用maxWidth自动换行
<Text style={{ maxWidth:200}}>this is a test message. this is a test message</Text>
其他回答
2021,这适用于REACT状态值(你必须添加空divs,就像返回语句一样)
这一点。setState({form:(<> line 1 <br /> line 2 </>)})
你还可以:
<Text>{`
Hi~
this is a test message.
`}</Text>
在我看来更简单,因为你不需要在字符串中插入东西;只要换行一次,就能保留所有换行符。
这对我很有效
<Text>{`Hi~\nthis is a test message.`}</Text>
(react-native 0.41.0)
如果你想在元素中使用变量,你可以试试这个。
<文本> {newText} < /短信>
const newText= text.body.split("\n")。Map ((item, key) => { 回报( < span关键={关键}> {项} < br / > < / span > ); });
你可以像这样使用' ':
<Text>{`Hi~
this is a test message.`}</Text>