xXRustamXx
@xXRustamXx

Корректно таким образом обновлять state в redux?

Есть следующий state:
const state = {
  desks: [
    {
      id: 1,
      name: 'Что нужно сделать',
      cards: [
        {
          id: 1,
          name: 'Lol kek cheburek'
        }
      ]
    }
  ]
};

И reducer:
function deskReducer(state = [], action) {
  switch(action.type) {
    case 'ADD_CARD':
      let desks = state.slice();
      let currentDesk = desks.filter( (item) => item.id === action.id )[0];
      currentDesk.cards.push({
        id: currentDesk.cards.length + 1,
        name: action.name
      });
      return desks;
    default: 
      return state;
  }
}

Насторожило что после push в reducer обновляется не только переменная desks, но и state тоже до возвращения state, код работает, но тем не менее я скопировал массив а изменения применились будто бы я этого и не делал вовсе, c чем это связанно и можно ли таким способом обновлять state?
  • Вопрос задан
  • 121 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы