react属性dangerouslySetInnerHTML

1,200 阅读1分钟

前言:

最近在做React的项目时遇到一个问题, 在后台取到数据之后发现并不是需要我自己通过HTML来渲染的, 而是那种字符串儿类型的标签。就下面这种样式,要是用的Vue那我能惯着他?直接一个V-html搞定,但我用的是react……。在网上找了两个文章找到了这个方法“dangerouslySetInnerHTML”

image.png

dangerouslySetInnerHTML介绍:

在看到这个方法后我立刻去了官网看这个方法的介绍。其他地方都挺好的,最大的缺点就是容易被XSS攻击

官方介绍:dangerouslySetInnerHTML官方介绍

dangerouslySetInnerHTML用法

这个是react中自带的一个属性,也不需要去引入,直接在div中使用,传入一个对象,key值是__html:要渲染的数据 就可以使用

image.png

总结

如果有Markdown的文本就尽量使用react-markdown这个组件完成页面渲染。这相对于dangerouslySetInnerHTML是比较安全的一个方法。