Ich kann nirgendwo finden, wie diese Funktion implementiert wird, die so einfach zu implementieren scheint.Reagieren JS - shouldComponentUpdate auf Listenelemente
Diese Funktion wird in diesem Entwickler Vortrag erwähnt https://youtu.be/-DX3vJiqxm4?t=1741
Er erwähnt, dass er für jedes Objekt in Array prüft upvotes und downvotes zu überprüfen, ob Listenzeile aktualisiert werden muss, aber ich kann es einfach nicht umsetzen.
Ich habe eine App in Reaktion JS mit vielen Elementen, und ich ändere nur einen zufälligen Artikel. React führt natürlich die gesamte Liste im virtuellen DOM erneut durch und diffundiert die vorherigen und aktuellen virtuellen DOMs der gesamten Liste und es dauert lange.
Aber ich möchte vermeiden, die unveränderten Listenelemente zu rendern. In meiner App - wenn "todo" Eigenschaft nicht geändert wurde, muss das Element nicht aktualisiert werden. Hier ist eine Demo meiner App: https://jsfiddle.net/2Lk1hr6v/29/
shouldComponentUpdate:function(nextProps, nextState){
return this.props.todo!==nextProps.todo;
},
Ich benutze diese Methode in der Liste Element-Komponente, aber die this.props.todo ist die gleiche wie nextProps.todo so keine Zeilen aktualisiert werden, wenn ich ändern ein zufälliger Gegenstand der ersten fünf Gegenstände.
Sorry, aber ich habe mit dieser Bearbeitung eine Geige gemacht und es funktioniert immer noch nicht. :(https://jsfiddle.net/2Lk1hr6v/30/ – gfels
Ich spielte damit herum. Ich fand heraus, dass du nicht mit dem Ändern von '.todo' direkt durchkommen kannst. Also bearbeitete die obige Antwort. Auch eine funktionierende Geige. –
Ich hatte bereits aufgegeben, konnte nirgendwo eine Erklärung finden, wie es funktioniert für Listen mit sollteComponentUpdate.Kudos zu Ihnen! – gfels