Tôi đang sử dụng Redux. Trong trình giảm tốc của tôi, tôi đang cố gắng xóa một thuộc tính khỏi một đối tượng như thế này:
const state = {
a: '1',
b: '2',
c: {
x: '42',
y: '43'
},
}
Và tôi muốn có một cái gì đó như thế này mà không phải thay đổi trạng thái ban đầu:
const newState = {
a: '1',
b: '2',
c: {
x: '42',
},
}
Tôi đã thử:
let newState = Object.assign({}, state);
delete newState.c.y
nhưng vì một số lý do, nó xóa tài sản khỏi cả hai tiểu bang.
Có thể giúp tôi làm điều đó?
Object.assign
chỉ tạo một bản sao nông củastate
và do đóstate.c
vànewState.c
sẽ trỏ đến đối tượng được chia sẻ cùng. Bạn đã cố xóa thuộc tínhy
khỏi đối tượng chia sẻc
chứ không phải từ đối tượng mớinewState
.