Existe-t-il une différence «en coulisse» entre la définition de innerHTML d'un élément et la définition de la propriété dangerouslySetInnerHTML sur un élément? Supposons que je désinfecte correctement les choses dans un souci de simplicité.
Exemple:
var test = React.createClass({
render: function(){
return (
<div contentEditable='true' dangerouslySetInnerHTML={{ __html: "Hello" }}></div>
);
}
});
contre
var test = React.createClass({
componentDidUpdate: function(prevProp, prevState){
this.refs.test.innerHTML = "Hello";
},
render: function(){
return (
<div contentEditable='true' ref='test'></div>
);
}
});
Je fais quelque chose d'un peu plus compliqué que l'exemple ci-dessus, mais l'idée générale est la même
la source
dangerouslySetInnerHTML
: webpackbin.com/bins/-KepHa-AMxQgGxOUnAac - la méthode innerHTML est presque deux fois plus rapide (voir console dans le webpackbin)Selon InnerHTML Dangerously Set ,
En savoir plus à ce sujet en utilisant le lien ci-dessous:
documentation : React DOM Elements - dangerouslySetInnerHTML .
la source
Basé sur ( dangerouslySetInnerHTML ).
C'est un accessoire qui fait exactement ce que vous voulez. Cependant, ils le nomment pour indiquer qu'il doit être utilisé avec prudence
la source