我在处理 facebook 的 ReactJS 时遇到了麻烦。每当我执行 ajax 并想要显示 html 数据时,ReactJS 都会将其显示为文本。(见下图)
数据通过jquery Ajax 的成功回调函数显示。
$.ajax({ url: url here, dataType: "json", success: function(data) { this.setState({ action: data.action }) }.bind(this) });
有什么简单的方法可以将其转换为 html 吗?我应该如何使用 ReactJS 来做到这一点?
默认情况下,React 会转义 HTML 以防止XSS(跨站点脚本)。如果你真的想渲染 HTML,你可以使用这个dangerouslySetInnerHTML属性:
dangerouslySetInnerHTML
<td dangerouslySetInnerHTML={{__html: this.state.actions}} />
React 强制使用这种故意繁琐的语法,这样您就不会意外地将文本呈现为 HTML 并引入 XSS 错误。