Gibt es einen Unterschied "hinter den Kulissen" zwischen dem Festlegen der innerHTML eines Elements und dem Festlegen der Eigenschaft gefährliche.SetInnerHTML für ein Element? Angenommen, ich desinfiziere die Dinge der Einfachheit halber ordnungsgemäß.
Beispiel:
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>
);
}
});
Ich mache etwas etwas komplizierteres als das obige Beispiel, aber die Gesamtidee ist dieselbe
quelle
dangerouslySetInnerHTML
: webpackbin.com/bins/-KepHa-AMxQgGxOUnAac - zeigt, dass die innerHTML-Methode fast doppelt so schnell ist (siehe Konsole im Webpackbin)Laut Dangerously Set innerHTML ,
Lesen Sie mehr darüber unter folgendem Link:
Dokumentation : Reagieren Sie auf DOM-Elemente - gefährlichSetInnerHTML .
quelle
Basierend auf ( gefährlichSetInnerHTML ).
Es ist eine Requisite, die genau das macht, was Sie wollen. Sie nennen es jedoch, um zu vermitteln, dass es mit Vorsicht verwendet werden sollte
quelle