dangerouslySetInnerHTMl

时间:2023-03-09 22:09:59
dangerouslySetInnerHTMl

dangerouslySetInnerHTMl 是React标签的一个属性,类似于angular的ng-bind;

听说这个单词这么长,是故意的,应为有可能不合时宜的使用innerHTML会导致XSS攻击(然而我并不懂什么是XSS),

__htlml: DOM;

通常dangerSetInnerHTML(这个糟糕的单词,,这么长。。)是和__html配套使用的,用来在一个标签中插入许多个标签(安全的插入);

通常写法:

var HelloMessge = React.createClass({
render: <div
dangerouslySetInnerHTML={{
__html: '<h3>hahhah</h3>'
}}>
</div>
})

当然既然可以插入DOM,也可以插入字符串。。

dangerouslySetInnerHTML={{
__html: 'hahahhahaha'
}}>

之所以是有2个{{}},是因为第一{}代表jsx语法开始,第二个是代表dangerouslySetInnerHTML接收的是一个对象键值对

参考文献:

http://wiki.jikexueyuan.com/project/react/dangerously.html

http://www.cnblogs.com/shamgod/p/5052312.html