Я пытаюсь реализовать простую функциональность корзины покупок, используя Redux и чистый Javascript. Я разделил свои редукторы на две части, одну для пользовательского интерфейса и одну для функциональности корзины.
Моя проблема в том, что при добавлении элемента в корзину он отображается нормально в состоянии, но когда я добавляю другой элемент, он перезаписывает предыдущий элемент в состоянии. Некоторое время я боролся с этим и пробовал несколько решений.
const initialState = {
visibilityFilter: VisibilityFilters.SHOW_ALL,
shop: {
purchasedItems: [],
shopItems: [...shop.items]
}
}
function shopReducer(state = initialState, action) {
switch (action.type) {
case BUY_ITEM:
const clickedItem = state.shopItems.filter( item => item.id == action.id);
return {...state, purchasedItems: [...state.purchasedItems, clickedItem ] }
function buyItemShop(id) {
return {
type: BUY_ITEM,
id
}
}