Чи є різниця "поза кадром" від встановлення внутрішньогоHTML елемента проти встановлення властивості небезпечноSetInnerHTML на елементі? Припустимо, що я належним чином дезінфікую речі заради простоти.
Приклад:
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 - вимикає метод внутрішнього HTML майже вдвічі швидше (див. Консоль на веб-пакунку)