React.js: Set innerHTML vs dangerouslySetInnerHTML
2022-08-30 00:20:46
在元素上设置innerHTML与设置insiouslySetInnerHTML属性有什么“幕后”区别吗?假设我为了简单起见而对事物进行了适当的消毒。
例:
var test = React.createClass({
render: function(){
return (
<div contentEditable='true' dangerouslySetInnerHTML={{ __html: "Hello" }}></div>
);
}
});
与
var test = React.createClass({
componentDidUpdate: function(prevProp, prevState){
this.refs.test.innerHTML = "Hello";
},
render: function(){
return (
<div contentEditable='true' ref='test'></div>
);
}
});
我正在做一些比上面的例子更复杂的事情,但总体想法是一样的。