Estou usando o Redux. No meu redutor, estou tentando remover uma propriedade de um objeto como este:
const state = {
a: '1',
b: '2',
c: {
x: '42',
y: '43'
},
}
E eu quero ter algo assim sem ter que alterar o estado original:
const newState = {
a: '1',
b: '2',
c: {
x: '42',
},
}
Eu tentei:
let newState = Object.assign({}, state);
delete newState.c.y
mas por alguns motivos, ele exclui a propriedade dos dois estados.
Poderia me ajudar a fazer isso?
Object.assign
cria apenas uma cópia superficial destate
e, portanto,state.c
enewState.c
irá apontar para o mesmo objeto compartilhado. Você tentou excluir a propriedadey
do objeto compartilhadoc
e não do novo objetonewState
.