在我正在处理的React应用程序中,存在以下情况:

当字符串具有换行符时,

要在其中显示字符串的<p>{string}</p>标记应替换为HTML新行字符。

但是,这当然行不通。

我已经尝试过但对我不起作用的事情:

const string = Hello\nHii


<p>{string.replace('\n', <br />)}</p>


输出:Hello<br />Hii


<p>{string.replace('\n', &amp;)}</p>


输出:Hello Hii

我在以下答案中找到了上述建议:

the val of a textarea doesnt take new lines into account

最佳答案

有两种选择。


使用pre标记或CSS属性white-space: pre

<p><pre>{string}</pre></p>
使用dangerouslySetInnerHTML

<p dangerouslySetInnerHTML={{__html: string.replace('\n', '<br />')}}></p>

09-16 16:52