小编典典

ReactJS 将 HTML 字符串转换为 JSX

all

我在处理 facebook 的 ReactJS 时遇到了麻烦。每当我执行 ajax 并想要显示 html 数据时,ReactJS
都会将其显示为文本。(见下图)

ReactJS 渲染字符串

数据通过jquery Ajax 的成功回调函数显示。

$.ajax({
   url: url here,
   dataType: "json",
   success: function(data) {
      this.setState({
           action: data.action
      })
   }.bind(this)
});

在此处输入图像描述

有什么简单的方法可以将其转换为 html 吗?我应该如何使用 ReactJS 来做到这一点?


阅读 72

收藏
2022-05-07

共1个答案

小编典典

默认情况下,React 会转义 HTML 以防止XSS(跨站点脚本)。如果你真的想渲染
HTML,你可以使用这个dangerouslySetInnerHTML属性:

<td dangerouslySetInnerHTML={{__html: this.state.actions}} />

React 强制使用这种故意繁琐的语法,这样您就不会意外地将文本呈现为 HTML 并引入 XSS 错误。

2022-05-07