html渲染没有发生

时间:2019-02-02 11:08:56

标签: reactjs redux-saga

我从后端得到json响应,如:

{'status': 0, 'type': 'BASIC_HTML', 'content': '<h1>Hello World </h1>'}

我将html响应呈现为:

if (props.text.type == "BASIC_HTML") {
    return (
        <div>
            {props.text.content}
        </div>
    )
}

但是输出为<h1>Hello World </h1>

它不是html。请帮忙。

2 个答案:

答案 0 :(得分:2)

JSX不是由字符串组成的。

您的数据应仅包含您希望打印的句子。我建议更改您的后端配置以返回以下内容:

{'status': 0, 'type': 'BASIC_HTML', 'content': 'Hello World'}

<h1>节点应写为JSX,而不是字符串:

if (props.text.type == "BASIC_HTML") {
    return (
        <div>
            <h1>{props.text.content}</h1>
        </div>
    )
}

答案 1 :(得分:-1)

您可以尝试危险地使用SetInnerHTML

   if (props.text.type == "BASIC_HTML") {
      return (
         <div>
             <h1 dangerouslySetInnerHTML={{__html: props.text.content}}></h1>
         </div>
      )
  }