如何在React中渲染MySQL存储的富文本内容?
React渲染数据库富文本内容的解决方案
你现在的问题是React把数据库里的富文本字符串当成普通文本输出了,所以<p>标签会直接显示在页面上,而不是被解析成段落元素。
解决方法很直接,用React提供的dangerouslySetInnerHTML属性,它的作用就是让React把指定的字符串当作HTML来渲染:
原来的代码:
<div>{ description }</div>
改成这样:
<div dangerouslySetInnerHTML={{ __html: description }} />
修改后,<p>标签会被正常解析,两段内容会自动以段落形式分行显示,不会再把标签文本输出出来。
注意:使用这个属性时要确保description的内容是安全可信的,比如来自你自己的数据库且经过过滤,避免恶意HTML注入导致XSS攻击。
内容的提问来源于stack exchange,提问作者user21605393
相关产品推荐
相关产品推荐

