问题描述
当需要在后端渲染html富文本时,发现如果 dangerouslySetInnerHTML
存在于一个独立的 <div>
标签里时,会渲染出一个空的 <div></div>
解决办法
在该<div dangerouslySetInnerHTML>
标签外,再套一层 <div>
-
before:
1
2
3
4
5<div>
<h1>产品名称:{title}</h1>
<p>产品描述</p>
<div dangerouslySetInnerHTML={{__html: Description}}/>
</div> -
after:
1
2
3
4
5
6
7<div>
<h1>产品名称:{title}</h1>
<p>产品描述</p>
<div>
<div dangerouslySetInnerHTML={{__html: Description}}/>
</div>
</div>
这里有一个ssr的demo可供参考:https://github.com/OpenDemo/demo-umi-ssr
问题原因
TODO 需要研究下react/umi
对dangerouslySetInnerHTML
的渲染原理