Задать вопрос
640
@640
Beginner

Как вернуть продукт обратно, изменив количество?

Есть такой замечательный экзампл с офф сайта redux: CodeSandBox

По нажатию на продукт, его количество становиться -1, а в корзине +1.
Как сделать обратное действие? Чтобы по нажатию на продукт в корзине он стал -1, а в общем списке +1.

Помогите пожалуйста ✌️
  • Вопрос задан
  • 162 просмотра
Подписаться 1 Средний Комментировать
Решения вопроса 1
0xD34F
@0xD34F Куратор тега React
Пригласить эксперта
Ответы на вопрос 1
maxfarseer
@maxfarseer
https://maxpfrontend.ru, обучаю реакту и компании
Создаете экшен:
const removeFromCart = productId => ({
  type: types.REMOVE_FROM_CART,
  productId
})


затем в редьюсере корзины, делаете так, чтобы на это действие был свой case, и в нем чтобы возвращался новый массив addedIds в котором уже не будет id из вашего экшена если quantityById меньше единицы (то есть, данной позиции больше не должно быть в корзине), либо изменяете quantityById ... суть в том, чтобы вы вернули новое состояние.

так же, для редьюсера товаров вы делаете кейс на этот же экшен - и там так же по id находите и добавляете новый элемент.

В общем, я думаю тут дело не сколько в реализации кода, а в понимании что такое экшены и редьюсеры. Почитайте в учебнике (на русском), поделайте пример и я думаю без проблем разберетесь с вашим вопросом.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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