@feliciya

Как правильно поменять state в редьюсере?

Привет! Это мой редьюсер
const initialState = {
items: {
First: 0,
Second: 0,
Third: 0
},
sum: 0
}

export default function fwReducer(state = initialState, action) {
switch (action.type) {
case ('INC'): {
const name = action.payload;
let newState = { ...state };
newState.items[name] += 1;
return { items: {...newState.items }, sum: state.total+1};
}
default: return state
}
}

Я понимаю, что сейчас меняю стейт не правильно, + по факту изменяю массив в исходном сторе, мутирую его , что нельзя. А как должно быть? Помогите, пожалуйста)
  • Вопрос задан
  • 24 просмотра
Пригласить эксперта
Ответы на вопрос 1
Вы же начали пересобирать стейт
let newState = { 
  ...state,
   items: {
     ...state.items,
     [name]: state.items[name] + 1,
     sum: state.sum+1
   }
};

Терпения не хватило?
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы