AlexanderBelov
@AlexanderBelov
Frontend developer

Почему не срабатывает reducer в Redux?

Пишу на Angular + Redux приложение.
Пытаюсь при помощи reducer изменить свойство объекта isAdded на true, которое по умолчанию с json получаю, как false.
Т.е., есть json, где у каждого объекта для рендера свойство isAdded : false.
Я вызываю событие addToCart(prod) (в качестве аргумента передан объект prod, у которого нужно поменять свойство на true).

Reducer:
const productsReducer = (state = INITIAL_STATE, action) => {
	switch(action.type) {
		case "ADD_PRODUCT" : {
			state = {
				...state, isAdded: action.payload}
		}
		return state
	}
}


Dispatcher:
addToCart(prod){
    this.ngRedux.dispatch({type: "ADD_PRODUCT", payload: true})
  }


Всё равно остаётся isAdded : false

Функцию связал с reducer'ом при помощи декоратора @select() prod (правильно ли?)
Где ошибка в коде? Почему не работает должным образом reducer?
  • Вопрос задан
  • 368 просмотров
Пригласить эксперта
Ответы на вопрос 1
@salarimus
Попробуй так.
switch (action.type){
        case 'ADD_PRODUCT':
            return {...state,  isAdded: action.payload};
        default:
            return state;
    }
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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