在我正在处理的React应用程序中,存在以下情况:
当字符串具有换行符时,
要在其中显示字符串的<p>{string}</p>
标记应替换为HTML新行字符。
但是,这当然行不通。
我已经尝试过但对我不起作用的事情:const string = Hello\nHii
<p>{string.replace('\n', <br />)}</p>
输出:Hello<br />Hii
<p>{string.replace('\n', &)}</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>