[英]Redux: How to add item to Array, and return Array with all items added
[英]How to add items to an array in Redux?
我正在構建一個Electron應用程序,並且試圖保留每個頁面上的圖像數組,因此,如果頁面被刪除,我可以輕松地從文件系統中刪除所有相關的圖像。
我現在所擁有的:
const initialState = [{
uuid: '65ec81f5-a783-4abd-bd0d-1451adda58c6',
imageUUIDs: []
}];
const actionsMap = {
[ActionTypes.ADD_IMAGE_TO_PAGE](state, action) {
const pageUUID = action.pageUUID;
const imgUUID = action.imgUUID;
return state.map(page =>
(page.uuid === pageUUID ?
Object.assign({}, page, {
imageUUIDs: page.imageUUIDs.splice(0, 0, imgUUID),
}) : page)
);
},
};
在運行時查看時,這最初似乎可以正常工作,但是完成后我最終得到一個空數組。 維護這樣的列表的正確方法是什么?
使用Array.prototype.concat
而不是Array.prototype.splice
。 Array.prototype.concat
返回一個新數組,而Array.prototype.splice
修改原始數組,但不返回新數組,這不是您所期望的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.