Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在React中呈现Firestore中保存的HTML字符串_Javascript_Reactjs_Firebase_Google Cloud Firestore_Jsx - Fatal编程技术网

Javascript 在React中呈现Firestore中保存的HTML字符串

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

我在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.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>
      )
    }