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.assignchỉ tạo một bản sao nông củastatevà do đóstate.cvànewState.csẽ trỏ đến đối tượng được chia sẻ cùng. Bạn đã cố xóa thuộc tínhykhỏi đối tượng chia sẻcchứ không phải từ đối tượng mớinewState.