gpt4 book ai didi

javascript - 更改状态 reducer redux 中的属性值

转载 作者:行者123 更新时间:2023-12-01 03:48:34 25 4
gpt4 key购买 nike

我有一个reducer,它的状态是一个对象数组。

state = [{
id: 1,
name: 'peter',
visible: false
},
{
id: 2,
name: 'alan',
visible: false
];

我的 reducer 的相关部分如下所示。

action.id 这里是 1

case 'TOGGLE_VIEW':

return state.map(item => {

if(item.id === action.id) {

item.visible = !item.visible;

}

});

上面的代码返回的状态为[null, null]

谁能解释一下如何根据传入的 id 更改状态中的属性值?

最佳答案

根据 naortor 的回答,由于 redux 状态应该是不可变的,所以你应该这样做:

case 'TOGGLE_VIEW':
return state.map(item => {

if (item.id === action.id) {
return {
...item,
visible: !item.visible,
}
}

return item

});

关于javascript - 更改状态 reducer redux 中的属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43392807/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com