我想在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标签中放入{'\n'}

<Text>

   Hello {'\n'}

   World!

</Text>

其他回答

这段代码适用于我的环境。(react-native 0.63.4)

const charChangeLine = `
`
// const charChangeLine = "\n" // or it is ok

const textWithChangeLine = "abc\ndef"

<Text>{textWithChangeLine.replace('¥n', charChangeLine)}</Text>

结果

abc
def

这应该做到:

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

你还可以:

<Text>{`
Hi~
this is a test message.
`}</Text>

在我看来更简单,因为你不需要在字符串中插入东西;只要换行一次,就能保留所有换行符。

你可以像这样使用' ':

<Text>{`Hi~
this is a test message.`}</Text>

有时我会这样写:

<Text>
  You have {" "}
  {remaining}$ {" "}
  from{" "}
  {total}$
<Text>

(因为我自己看得更清楚)