Existe alguma diferença "nos bastidores" entre definir o innerHTML de um elemento e definir a propriedade dangerouslySetInnerHTML em um elemento? Suponha que eu esteja higienizando adequadamente as coisas por uma questão de simplicidade.
Exemplo:
var test = React.createClass({
render: function(){
return (
<div contentEditable='true' dangerouslySetInnerHTML={{ __html: "Hello" }}></div>
);
}
});
vs
var test = React.createClass({
componentDidUpdate: function(prevProp, prevState){
this.refs.test.innerHTML = "Hello";
},
render: function(){
return (
<div contentEditable='true' ref='test'></div>
);
}
});
Estou fazendo algo um pouco mais complicado que o exemplo acima, mas a ideia geral é a mesma
fonte
dangerouslySetInnerHTML
: webpackbin.com/bins/-KepHa-AMxQgGxOUnAac - remove o método innerHTML é quase duas vezes mais rápido (consulte o console no webpackbin)De acordo com Dangerously Set innerHTML ,
Leia mais sobre isso usando o link abaixo:
documentação : Reagir elementos DOM - dangerousouslySetInnerHTML .
fonte
Baseado em ( dangerouslySetInnerHTML ).
É um suporte que faz exatamente o que você deseja. No entanto, eles o nomeiam para transmitir que deve ser usado com cautela
fonte