Czy jest jakaś różnica „za kulisami” między ustawieniem internalHTML elementu a ustawieniem właściwości niebezpiecznejSetInnerHTML elementu? Załóżmy, że odpowiednio odkażam rzeczy ze względu na prostotę.
Przykład:
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>
);
}
});
Robię coś bardziej skomplikowanego niż powyższy przykład, ale ogólny pomysł jest taki sam
źródło
dangerouslySetInnerHTML
: webpackbin.com/bins/-KepHa-AMxQgGxOUnAac - dostrajanie metody innerHTML jest prawie dwukrotnie szybsze (patrz konsola w pakiecie internetowym)Według Dangerously Set innerHTML ,
Przeczytaj więcej na ten temat, korzystając z poniższego linku:
dokumentacja : React DOM Elements - dangerousouslySetInnerHTML .
źródło
Na podstawie ( dangerousouslySetInnerHTML ).
To rekwizyt, który robi dokładnie to, czego chcesz. Jednak nazywają to, aby przekazać, że należy go używać z ostrożnością
źródło