let items = state.refundHistory.items.map((o, idx) => {
o.body.payment.loader = true;
return o;
});
现在我想更新状态中可用的项目,并希望返回修改后数据的状态。
答案 0 :(得分:0)
你可以重新分配
let items = state.refundHistory.items.map((o, idx) => {
o.body.payment.loader = true;
return o;
});
state.refundHistory.items = items;
return state;
您也可以处理此内联
state.refundHistory.items = state.refundHistory.items.map((o, idx) => {
o.body.payment.loader = true;
return o;
});
return state;
但最好还是使用.forEach
。这将节省必须分配新阵列。
state.refundHistory.items.forEach(item => {
item.body.payment.loader = true;
});
return state;
诸如redux之类的某些库需要您创建一个全新的对象,在这种情况下,扩展运算符非常方便
let items = state.refundHistory.items.map((o, idx) => {
o.body.payment.loader = true;
return o;
});
return {
refundHistory : {
items : items,
...state.refundHistory
},
...state,
}