当获取后端数据,例如富文本的数据,通常前端获取到是一串html的字符串。记录vue和react渲染html字符串的方式。
React:
使用dangerouslySetInnerHTML,虽然名字是dangerous
但是只是说,使用它渲染不恰当的html是危险的,不是使用就是危险的
innerHTML不适当的用法会带来跨站脚本攻击(XSS),dangerouslySetInnerHTML被设计用来警示开发者,赋值给__html属性的值必须得是经过处理的,
from:https://zhuanlan.zhihu.com/p/257970879
<div dangerouslySetInnerHTML={{ __html: "<div>test</div>" }}></div>
Vue:
<div v-html="<div>test</div>"></div>
其实两种都是innerHTML,使用原生的html也没啥问题