let items = state.refundHistory.items.map((o, idx) => {
o.body.payment.loader = true;
return o;
});
现在我想更新状态中可用的项目,并希望返回修改后的数据状态。我们如何更新javascript中特定对象的对象?
let items = state.refundHistory.items.map((o, idx) => {
o.body.payment.loader = true;
return o;
});
现在我想更新状态中可用的项目,并希望返回修改后的数据状态。我们如何更新javascript中特定对象的对象?
你可以只重新分配
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;
一些库,如终极版要求您创建一个全新的对象在这种情况下,运营商蔓延是非常方便的
let items = state.refundHistory.items.map((o, idx) => {
o.body.payment.loader = true;
return o;
});
return {
refundHistory : {
items : items,
...state.refundHistory
},
...state,
}
中有什么方法的问题,你有试过吗? – Rajesh
我有旧状态的项目,并希望在项目加载器中添加一个键:true,那么我的项目将被更新,我想返回状态与具有加载器键的新项目。 – user6160824
我的意思是,在您分享的代码中,是否存在问题?你正在使用'.map',所以你正在返回新的列表。如果您想更新同一个对象,请尝试'.forEach' – Rajesh