javascript - React.js 将文本呈现为 HTML

标签 javascript jquery reactjs

这就是渲染代码现在的样子(而且我知道这样做是不安全的):

render: function() {
  return (
    <div className="container-fluid pages_container">
      <p dangerouslySetInnerHTML={{__html: this.state.page.body}} />
    </div>
  );
}

问题是我怎样才能安全地渲染它?

最佳答案

引用 https://facebook.github.io/react/docs/dom-elements.html#dangerouslysetinnerhtml

<script src="https://cdnjs.cloudflare.com/ajax/libs/marked/0.3.2/marked.min.js"></script>

render: function() {
  return (
    <div className="container-fluid pages_container">
      <p dangerouslySetInnerHTML={{__html: marked(this.state.page.body, {sanitize: true})}} />
    </div>
  );
}

jsFiddle

关于javascript - React.js 将文本呈现为 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31850614/

相关文章:

javascript - Javascript 中可以继承模块吗?

javascript - 如果我使用扩展语法,如何才能完全返回内部包含嵌套对象数组的数组?

javascript - jQuery 代替 Flash 动画

javascript - 如何判断 div 的中心是否在视口(viewport)中?

javascript - jQuery mouseleave 多次触发

javascript - RefreshID = setinterval 不起作用?

Jquery mouseout 停止播放?

reactjs - 无法获取index.html Azure Linux Web应用程序

javascript - Reactjs, React, styled-components - 基于 Rebass 库对象文字的 Prop 是否不需要重新渲染组件?

javascript - 我可以使用循环来最小化 ES6 import 语句吗?