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