我想在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>{`${val}\n`}</text>
其他回答
最干净和最灵活的方法之一是使用模板字面量。
使用它的一个优点是,如果你想在文本体中显示字符串变量的内容,它更干净和直接。
(请注意使用反引号)
const customMessage = 'This is a test message';
<Text>
{`
Hi~
${customMessage}
`}
</Text>
会导致
Hi~
This is a test message
可以使用{'\n'}作为换行符。 嗨~ {'\n'}这是一个测试消息。
这段代码适用于我的环境。(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>
You have {" "}
{remaining}$ {" "}
from{" "}
{total}$
<Text>
(因为我自己看得更清楚)
对此有两种主要的解决方案。
方法一:只要在下面加上“\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/