javascript - 在react中显示纯html

标签 javascript html reactjs

我正在使用react-draft-wysiwyg编辑器。我进步得很好。但现在我陷入了如何显示编辑器的输出的困境。

例如,假设 body 是所见即所得编辑器的输出:

function ShowHtml(props) {
  let body = '<p>Sample text with <strong>bold</strong> and <em>italic</em></p>'
  return (
    <div>
     {body}
    </div>
  )
}

现在输出将是完全相同的 html,其中显示的标签没有格式化。

<p>Sample text with <strong>bold</strong> and <em>italic</em></p>

我想要这样的东西:

Sample text with bold and italic

在 jQuery 中,我只需设置 div 标签的 html 属性。但我不知道如何在 React 中以正确的方式做到这一点。我可以像在 jQuery 中那样获取对 div 的引用并以某种方式更新它吗?它可以与虚拟Dom一起使用吗?

最佳答案

尝试作为属性插入angerlySetInnerHTML={{__html: body}}

  function ShowHtml(props) {
    let body = '<p>Sample text with <strong>bold</strong></p>'
    return (
     <div  dangerouslySetInnerHTML={{__html: body}} />
    )
  }

https://reactjs.org/docs/dom-elements.html#dangerouslysetinnerhtml

关于javascript - 在react中显示纯html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49401086/

相关文章:

javascript - 用户界面.路由器 : Save $state state when leaving and continous when reentering

javascript - 在 Angular 中共享来自 JS 和 LESS 的变量

Javascript 函数将运行并在 1 秒后自动删除

javascript - 为什么用户登录后导航栏组件不更新? (无 Redux)

javascript - 页面加载时向上滑动图像

javascript - 单击提交按钮之前表单不断重定向

html - 标识号 (ID) 的输入元素

javascript - 动态创建的表 - 仅 Vanilla Javascript - 不在浏览器中显示

javascript - react 功能组件 : calling as function vs. 作为组件

css - 响应式桌面高度 Bootstrap