我想保持最大數組數爲10.當新對象添加到reducer狀態時,如果數組數超過10我想刪除第一個對象。我怎樣才能做到這一點 ?從reducer狀態的數組中刪除最後一個元素
這是我的代碼:
switch(action.type) {
case types.RECENTLY_VIEWED_ITEM:
return Object.assign({}, state, {
data: [
...(state.data.filter(item => (item.id !== action.payload.id))),
action.payload
]
});
case types.REMOVE_RECENTLY_VIEWED_ITEM:
return Object.assign({}, state, {
data: [
...(state.data.splice(0, 1))
]});
default:
return state;
}
謝謝
state.data.slice(1)將不會保持最大的數組數10.它只是所有的數據複製,除了第一。所以如果數組的長度是15,它會返回最後14個數據的數組。 – Ved
@Ved OP沒有檢查任何地方的計數,我想他只是在長度超過10時調用動作,這就是我可以推斷的 –
我所看到的問題:「我想保持最大數組數爲10. if數組數超過10我想刪除第一個對象「。 – Ved