我想在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>

其他回答

只需在Text标签中放入{'\n'}

<Text>

   Hello {'\n'}

   World!

</Text>

最好的方法使用列表,如UL或OL,并做一些样式,如使列表样式none,你可以使用<li> dhdhhd </li>

Use:

<Text>{`Hi,\nCurtis!`}</Text>

结果:

你好, 柯蒂斯!

如果你从状态变量或道具中获取数据,Text组件有一个minWidth, maxWidth样式道具。

例子

const {height,width} = Dimensions.get('screen');

const string = `This is the description coming from the state variable, It may long thank this` 

<Text style={{ maxWidth:width/2}}>{string}</Text>

这将显示屏幕宽度的50%的文本

<Text>
Hi~{"\n"}
this is a test message.
</Text>