首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >ReactJS将HTML字符串转换为JSX

ReactJS将HTML字符串转换为JSX
EN

Stack Overflow用户
提问于 2013-10-09 15:57:37
回答 8查看 269.3K关注 0票数 267

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

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

代码语言:javascript
复制
$.ajax({
   url: url here,
   dataType: "json",
   success: function(data) {
      this.setState({
           action: data.action
      })
   }.bind(this)
});

有什么简单的方法可以把它转换成html吗?我应该如何使用ReactJS来完成呢?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2013-10-10 00:34:23

默认情况下,React转义HTML以防止XSS (Cross-site scripting)。如果您确实想呈现HTML,则可以使用dangerouslySetInnerHTML属性:

代码语言:javascript
复制
<td dangerouslySetInnerHTML={{__html: this.state.actions}} />

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

票数 479
EN

Stack Overflow用户

发布于 2019-12-02 13:28:06

代码语言:javascript
复制
npm i html-react-parser;

import Parser from 'html-react-parser';

<td>{Parser(this.state.archyves)}</td>
票数 19
EN

Stack Overflow用户

发布于 2020-04-23 04:30:53

对于那些仍在尝试的人,npm安装了react-html-parser

当我安装它的时候,它每周有123628的下载量。

代码语言:javascript
复制
import ReactHtmlParser from 'react-html-parser'

<div>{ReactHtmlParser(htmlString)}</div>
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19266197

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档