使用ReactJS在页面上显示HTML正文

时间:2018-07-09 06:10:14

标签: html reactjs

说我的数据库(用户输入)中具有以下代码:

<html>
  <title>Test</title>
  <body>testing website</body>
</html>

然后我使用ReactJS从数据库中正确获取了它。如何显示为“ localhost:3000 / play”?我不希望它像代码一样被呈现为原始数据,但我希望它实际上将html主体呈现为网站。 (标题设置为“测试”,并显示一小段文字:测试网站)。我该如何在ReactJS中做到这一点?我已经配置了/ play,我只想知道如何在index.js文件中显示它。我尝试了类似<div dangerouslySetInnerHTML={template} />的方法,但是没有用。

2 个答案:

答案 0 :(得分:1)

所以,我用以下方法修复了它: 在单独的功能中:

db.getHTMLBody(key).then(snapshot => { this.setState({ body: snapshot.val() }) })

然后在渲染器中:

 <div dangerouslySetInnerHTML={{ __html: this.state.body }} />

答案 1 :(得分:0)

请尝试:

const innerHtml = { __html: escape(snapshot.val()) } 
return(<div dangerouslySetInnerHTML={innerHtml} />)