Ich benutze Redux. In meinem Reduzierer versuche ich, eine Eigenschaft aus einem Objekt wie diesem zu entfernen:
const state = {
a: '1',
b: '2',
c: {
x: '42',
y: '43'
},
}
Und ich möchte so etwas haben, ohne den ursprünglichen Zustand mutieren zu müssen:
const newState = {
a: '1',
b: '2',
c: {
x: '42',
},
}
Ich habe es versucht:
let newState = Object.assign({}, state);
delete newState.c.y
Aus bestimmten Gründen wird die Eigenschaft jedoch aus beiden Zuständen gelöscht.
Könnte mir dabei helfen?
Object.assign
nur eine flache Kopie von und erstellt wirdstate
und daher auf dasselbe gemeinsam genutzte Objekt verweist. Sie haben versucht, die Eigenschaft aus dem freigegebenen Objekt und nicht aus dem neuen Objekt zu löschen .state.c
newState.c
y
c
newState