我想在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不喜欢你把HTML <br />放在它需要文本的地方,而且\ns并不总是被渲染,除非在<pre>标记中。

也许可以像这样将每个断行字符串(段落)包装在<p>标记中:

{text.split("\n").map((line, idx) => <p key={idx}>{line}</p>)}

如果你在迭代React组件,不要忘记键。

其他回答

这应该做到:

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

可以使用{'\n'}作为换行符。 嗨~ {'\n'}这是一个测试消息。

这是一个很好的问题,你可以用多种方法来做这个问题 第一个

<View>
    <Text>
        Hi this is first line  {\n}  hi this is second line 
    </Text>
</View>

这意味着您可以使用{\n}反斜杠n来断行

第二个

<View>
     <Text>
         Hi this is first line
     </Text>
     <View>
         <Text>
             hi this is second line 
         </Text>
     </View>
</View>

这意味着你可以使用另一个<查看>组件里面首先<查看>和包装它周围<文本>组件

快乐的编码

我需要一个在三元运算符中分支的单行解决方案,以保持我的代码很好地缩进。

{foo ? `First line of text\nSecond line of text` : `Single line of text`}

Sublime语法高亮显示有助于突出显示换行字符:

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

<Text>

   Hello {'\n'}

   World!

</Text>