Я использую Redux. В моем редукторе я пытаюсь удалить свойство из такого объекта:
const state = {
a: '1',
b: '2',
c: {
x: '42',
y: '43'
},
}
И я хочу иметь что-то подобное, не изменяя исходное состояние:
const newState = {
a: '1',
b: '2',
c: {
x: '42',
},
}
Я старался:
let newState = Object.assign({}, state);
delete newState.c.y
но по некоторым причинам он удаляет свойство из обоих состояний.
Могли бы мне помочь в этом?
Object.assign
создает лишь неполную копию изstate
и , следовательно ,state.c
иnewState.c
будет указывать на тот же объект разделяемого. Вы пытались удалить свойствоy
из общего объекта,c
а не из нового объектаnewState
.