Как отправить в state новое значения quantity?

Добрый день есть такой код

const initialState = {
  asideItems: [],
  total: 0
}

const asideReducer = (state = initialState, action) =>{
  switch(action.type) {
    case ADD_TO_ASIDE:
      const item = action.payload
      const existItem =  state.asideItems.find(item => action.payload.id === item.id)
      if(existItem)
      {
        console.log(item)
        item.quantity += 1
        console.log(item)

        return{
          ...state,
          total: state.total + item.price,
        }
      }
      else{
        return{
          ...state,
          asideItems: [...state.asideItems , item],
          total: state.total + item.price
        }
      }
    default:
      return state
  }
}

Больше всего хочется затронуть внимания на данном моменте

if(existItem)
      {
        console.log(item) // Quantity = 1
        item.quantity += 1
        console.log(item) // Quantity =  2

        return{
          ...state,
          total: state.total + item.price,
        }
      }

Я сделал простую проверку что если в asideItems уже есть такой, то просто поменять количество. Как можно видить по console.log item.quantity += 1- работает, но не отправляет в state. И за чего каждый значения в самом state не изменяется. Кто может подсказать в чем ошибка


Ответы (1 шт):

Автор решения: Евгений Платов

Вам надо показать реакту что вы изменили массив

if(existItem){
        console.log(item) // Quantity = 1
        item.quantity += 1
        console.log(item) // Quantity =  2
    
        return{
           asideItems:[...state.asideItems],
           total: state.total + item.price,
        }
    }
→ Ссылка