Редьюсер корзины без мутаций состояния
Напишите функцию cartReducer(state, action) для useReducer.
Состояние — { items: [{ id, qty }] }. Действия:
{ type: 'add', id }— если товара нет, добавить в конец сqty: 1; если есть — увеличитьqtyна 1.{ type: 'setQty', id, qty }— выставить количество; приqtyменьше 1 удалить товар. Для отсутствующего товара ничего не делать.{ type: 'remove', id }— удалить товар.- Неизвестное действие — вернуть тот же объект состояния.
Входное состояние менять нельзя: при изменениях возвращайте новые объекты и массивы.
заготовка решения
function cartReducer(state, action) {
// ваш код
return undefined;
}