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

posted @ 2017-02-10 09:57  凉月-天  阅读(10673)  评论(2编辑  收藏  举报