如何替换字符串中的 \n 新行字符,以便 <p> 标记可以显示新行

HVe*_*nom 2 html javascript reactjs

在我正在开发的反应应用程序中,有一个条件:

当字符串有换行符时

<p>{string}</p>要显示字符串的标签应替换为 HTML 换行符。

但这当然行不通。

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

const string = Hello\nHii

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

输出:

Hello<br />Hii

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

输出:

Hello Hii

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

文本区域的 val 不考虑换行符

Uji*_*T34 5

有两种选择。

  1. 使用pre标签或CSS属性white-space: pre

    <p><pre>{string}</pre></p>

  2. 使用angerlySetInnerHTML

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