首页 > React:json 返回的内容中带有HTML,但是浏览器不解析?

React:json 返回的内容中带有HTML,但是浏览器不解析?

我简化了下问题:

{

    "show": "<strong>test</strong>"

}

以上是JSON返回的数据。

   render:function(){
    var page=this.state.data.show;
    console.log(page);
      return (
      <div>
            <ul>
            </ul>
          {page}
          <div dangerouslySetInnerHTML={{__html: page}} />
      </div>
);
}

这是react的render部分,如果只使用 {page},则直接原样输出了,即:

<strong>test</strong>  

如果使用了 <div dangerouslySetInnerHTML={{__html: page}} />

则提示以下错误:

Error: Invariant Violation: `props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit http://fb.me/react-invariant-dangerously-set-inner-html for more information.

求正确的显示方法!
另外,一般求通用的方法解决从服务器返回HTML,前端使用react解析的问题!


<div dangerouslySetInnerHTML={{__html: page}} />

改成 <div dangerouslySetInnerHTML={__html: page} />

--- update ---

function createMarkup() { return {__html: page}; };



<div dangerouslySetInnerHTML={createMarkup()} />



react免费课程


官方栗子

【热门文章】
【热门文章】