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