小编Vin*_*ing的帖子

不可变地删除对象中的属性

我正在使用Redux.在我的reducer中,我试图从像这样的对象中删除一个属性:

const state = {
    a: '1',
    b: '2',
    c: {
       x: '42',
       y: '43'
    },
}
Run Code Online (Sandbox Code Playgroud)

我希望有这样的东西,而不必改变原始状态:

const newState = {
    a: '1',
    b: '2',
    c: {
       x: '42',
    },
}
Run Code Online (Sandbox Code Playgroud)

我试过了:

let newState = Object.assign({}, state);
delete newState.c.y
Run Code Online (Sandbox Code Playgroud)

但由于某些原因,它会删除两个州的财产.

可以帮我这么做吗?

javascript immutability redux

119
推荐指数
11
解决办法
6万
查看次数

标签 统计

immutability ×1

javascript ×1

redux ×1