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 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

Schreibe einen Kommentar