要素のinnerHTMLを設定することと、要素にdangerouslySetInnerHTMLプロパティを設定することとの「裏側」の違いはありますか?簡単にするために、適切にサニタイズしていると仮定します。
例:
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>
);
}
});
上記の例よりも少し複雑なことをしていますが、全体的な考え方は同じです
dangerouslySetInnerHTML
:webpackbin.com/bins/-KepHa-AMxQgGxOUnAacを -のinnerHTMLメソッドアウトタンズは早くほぼ倍である(webpackbinでコンソールを参照してください)