我有一个initialState:
let initialState = {
items: []
}
我的动作中有一个有效载荷,例如:
{name: 'A', age: 2}, {name: 'B', age: 1}
将我的有效载荷设置到我的减速器后:
case SET_ITEMS:
return {
...state,
items: [...state.items, ...action.payload],
};
之后,我的状态是:
let initialState = {
items: [
{name: 'A', age: 2},
{name: 'B', age: 1}
],
}
所以我要添加到项目的每个项目中,例如,像这样的另一个属性:
let initialState = {
items: [
{name: 'A', age: 2, active: true},
{name: 'B', age: 1, active: true}
],
}
我该怎么做?
答案 0 :(得分:1)
您可以为此使用map
:
case SET_ITEMS:
return {
...state,
items: state.items.map(item => ({
...item,
active: true
}))
};
答案 1 :(得分:0)
如果您想同时更新有效负载和状态以添加额外的属性,则也可以这样做。
case SET_ITEMS:
return {
...state,
items: [
...state.items.map(item => ({
...item,
active: true
})),
...action.payload.map(item => ({
...item,
active: true
}))
],
};