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

标签 javascript html reactjs

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

当字符串有换行符时

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

但这当然行不通。

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

const string = Hello\nHii

  1. <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

    最佳答案

    有两个选项。

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

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

    2. 使用dangerouslySetInnerHTML :

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

    关于javascript - 如何替换\n字符串中的新行字符,以便 <p> 标记可以显示新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53079737/

    相关文章:

    javascript - 从 React.JS 访问 LaunchDarkly 标志

    javascript - 自己尝试编辑器 JS

    javascript - 我如何使用外部 div 在另一个 Div onClick 上切换展开和收缩?

    javascript - 如何使用 JavaScript 重定向将值传递给 HTML 页面?

    javascript - 我如何找到每个 <ul></ul> 中的最后一个 <li></li> (前端、html、css、jquery)

    reactjs - React.js、nginx 和 SSL

    android - 找不到变量 : _d when running react native app for the first time

    javascript - 无法直接在 ng-template 中访问范围变量

    php - 如何制作一个 php 页面并使用 Wordpress 主题

    html - 表格单元格/行不会拉伸(stretch)以填充父项