Ich habe an der Reaktion gearbeitet und ich habe erfahren, dass wir die Zustände nicht direkt mutieren sollten, weil es die Komponente nicht rendern würde. Stattdessen sollten wir die setState-Methode verwenden. Dazu müssen wir das gesamte Objekt in ein anderes kopieren und dann die Elemente ändern, aber es kann sehr teuer werden. Ich habe gehört, dass Object.assign dabei hilft. Auch, was ist die beste Methode dafür?Wie verwendet man Object.assign, um Zustände in React unveränderlich zu machen?
0
A
Antwort
0
Ich weiß nicht reagieren, aber wenn Sie eine flache Kopie eines Objekts zu machen brauchen, Object.assign
in der Tat nicht lassen Sie, dass:
var theCopy = Object.assign({}, theOriginal);
Beispiel, das zeigt auch, was ich mit „flachen bedeuten „:
// An original, with three properties; the third refers to an object
var theOriginal = {
answer: 42,
question: "Life, the Universe, and Everything",
obj: {
foo: "bar"
}
};
// Make a shallow copy
var theCopy = Object.assign({}, theOriginal);
// Note that the object's properties are not linked
log("theOriginal.answer: " + theOriginal.answer);
log("theCopy.answer: " + theCopy.answer);
theCopy.answer = 67;
log("updated theCopy.answer: " + theCopy.answer);
// But note that while the `obj` property was copied, both
// copies refer to the *same* object:
log("theOriginal.obj.foo: " + theOriginal.obj.foo);
log("theCopy.obj.foo: " + theCopy.obj.foo);
theOriginal.obj.foo = "updated";
log("updated theOriginal.obj.foo: " + theOriginal.obj.foo);
log("updated theCopy.obj.foo: " + theCopy.obj.foo);
function log(msg) {
var p = document.createElement('pre');
p.appendChild(document.createTextNode(msg));
document.body.appendChild(p);
}
Verwandte Themen
- 1. React-Native - Object.assign children change
- 2. Array unveränderlich machen
- 3. Webpack, Object.assign und React-Toolbox Probleme
- 4. Wie man Handler verwendet, um zu warten?
- 5. Wie man Jest mit React Native verwendet
- 6. Wie verwendet man childContextTypes, um mit Typescript zu reagieren?
- 7. Wann muss die Object.assign() -Methode verwendet werden, um eine Instanz eines Objekts zu kopieren?
- 8. Object.assign bug workaround
- 9. Wie man GameCenter in einer React Native App verwendet
- 10. Wie verwendet man den Status auf jeder Karte in React?
- 11. React + Redux + Unveränderlich - wie tief sollten unveränderliche Objekte gehen?
- 12. Gibt es eine Möglichkeit, eine lokale Niederlassung unveränderlich zu machen?
- 13. Wie kann ich die eingebaute Object.assign in reagieren?
- 14. Wie aktualisiert man den Elternstatus in React?
- 15. Wie man Fein-Uploader in React js verwendet
- 16. Wie verwendet man globale Variablen in React Native?
- 17. Wie verwendet man Schlüsselwörter, um Spalte in sql zu suchen
- 18. Wie man Methoden verwendet, um in Java zu zeichnen?
- 19. Wie verwendet man PowerShell, um einige primitive Dateien zu setzen?
- 20. Wie man ffmpeg verwendet, um mp4 zu mov zu kodieren
- 21. Wie verwendet man __getattr__, um zu attributierende Methoden zu delegieren?
- 22. Wie kann ich den Pfadpfad für Paperclip unveränderlich machen?
- 23. React: Komponenten extern machen
- 24. Verwenden Sie React-Redux, um eine Login-Seite zu entwickeln
- 25. Wie man enum kommentiert, um checkstyle glücklich zu machen?
- 26. Aktualisiere Reagestatus mit Unveränderlich
- 27. Object.assign vs lodash _.assign
- 28. iphone - Wie man Häkchen verwendet, um die Informationen zu filtern?
- 29. wie man Linq verwendet, um ein Sitecore-Feld zu erhalten
- 30. Wie man asp.net Web-Anwendung verwendet, um Speicher zu manipulieren?