我想在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.
当前回答
编辑:
如果你使用模板字面值(参见<Text>元素),你也可以像这样添加换行符:
import React, { Component } from 'react';
import { Text, View } from "react-native";
export default class extends Component {
(...)
render(){
return (
<View>
<Text>{`
1. line 1
2. line 2
3. line 3
`}</Text>
</View>
);
}
}
其他回答
可以使用{'\n'}作为换行符。 嗨~ {'\n'}这是一个测试消息。
对此有两种主要的解决方案。
方法一:只要在下面加上“\n”就可以了
<Text>
First Line {'\n'} Second Line.
</Text>
方法2:在字符串字面量中添加换行符,如下所示。
<Text>
`First Line
Second Line`.
</Text>
要了解更多信息,请参考下面的教程。
https://sourcefreeze.com/how-to-insert-a-line-break-into-a-text-component-in-react-native/
我使用p标签的新行。这里我粘贴了代码,这对大家都有帮助。
const new2DArr = associativeArr.map((crntVal )=>{
return <p > Id : {crntVal.id} City Name : {crntVal.cityName} </p>;
});
https://stackoverflow.com/a/44845810/10480776 @Edison D'souza的答案正是我一直在寻找的。但是,它只是替换字符串的第一次出现。下面是我处理多个<br/>标签的解决方案:
<Typography style={{ whiteSpace: "pre-line" }}>
{shortDescription.split("<br/>").join("\n")}
</Typography>
抱歉,由于声誉评分限制,我无法评论他的帖子。
简单使用反勾号(es6特性)
解决方案1
const Message = 'This is a message';
<Text>
{`
Hi~
${Message}
`}
</Text>
解决方案2在文本中添加“\n”
<Text>
Hi~{"\n"}
This is a message.
</Text>