Wie kann ich deep-clone ein Objekt Reagieren?
let oldMessages = Object.assign({}, this.state.messages);
//this.state.messages[0].id = 718
console.log(oldMessages[0].id);
//Prints 718
oldMessages[0].id = 123;
console.log(this.state.messages[0].id);
//Prints 123
Wie kann ich verhindern, dass oldMessages
eine Referenz, das will ich ändern den Wert von oldMessages
ohne änderung des Werts von state.messages
Bis ich ein besseres dupe: MDN stellt eine Möglichkeit: developer.mozilla.org/de/docs/Web/JavaScript/Reference/... (siehe "// Deep Clone")
stackoverflow.com/questions/122102/...
Ist
ja
Möglich, Duplikat der JS: Ist Objekt.assign() erstellen Tiefe Kopie oder flache Kopie
stackoverflow.com/questions/122102/...
Ist
this.state.messages
ein Objekt oder ein Array?ja
Möglich, Duplikat der JS: Ist Objekt.assign() erstellen Tiefe Kopie oder flache Kopie
InformationsquelleAutor SpaceDogCS | 2018-02-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Sie brauchen, um eine Tiefe Kopie. Lodash ist cloneDeep macht dies einfach:
Glück!
in 3 Minuten ich überprüfen, als richtig
InformationsquelleAutor AryanJ-NYC
Eine der besten Möglichkeiten, um tiefes Klonen von Objekten ist mit dem
verbreiten
Betreiber. Es bedeutet Tiefe Klonen ohne uns mit zu schreiben zusätzlichen code.Zum Beispiel...
Ja, Sie sind richtig. Meine Gedanken zu schreiben, das war immer zu lösen, ein use-case, wo man nicht tief verschachteln.
InformationsquelleAutor Hozefa