Javascript 在React中呈现Firestore中保存的HTML字符串
我在Firestore中存储了一些字符串,如下所示:Javascript 在React中呈现Firestore中保存的HTML字符串,javascript,reactjs,firebase,google-cloud-firestore,jsx,Javascript,Reactjs,Firebase,Google Cloud Firestore,Jsx,我在Firestore中存储了一些字符串,如下所示: item1: { content: '<p>Hi</p>' } item2: { content: '<p>Hi 2</p>' } item1:{ 内容:“Hi” } 项目2:{ 内容:“Hi 2” } 当我在React组件中使用以下呈现函数时,它将打印出段落标记(以及任何其他HTML): render(){ const{items}=this.state this.item
item1: {
content: '<p>Hi</p>'
}
item2: {
content: '<p>Hi 2</p>'
}
item1:{
内容:“Hi”
}
项目2:{
内容:“Hi 2”
}
当我在React组件中使用以下呈现函数时,它将打印出段落标记(以及任何其他HTML):
render(){
const{items}=this.state
this.items=items.map(函数(项,键){
{item['content']}
})
返回(
{this.items}
)
}
如何修复?在没有危险的LysetinerHTML的情况下,有没有办法做到这一点?最后为此使用了react html解析器包:
你为什么不想使用危险的LysetinerHTML?看起来很危险!项目内容是用户生成的,这是否会使应用程序易受攻击?这取决于您的内容来自何处,我认为这是将html插入您的react代码的最常见方式。用户在应用程序中输入html内容,然后此组件将其打印到其他地方。我听说如果可能的话,应该避免使用危险的HTML,所以看看这是否是一个使用它有意义的案例。
render() {
const { items } = this.state
this.items = items.map(function(item, key) {
<li key={key}>{item['content']}</li>
})
return (
<ul>
{this.items}
</ul>
)
}