Глава 18. useReducer и сложная логика
Зачем эта глава
Когда логика состояния становится сложной, useState уже неудобен. useReducer помогает структурировать обновления.
Теория (коротко)
useReducer работает по принципу: «состояние + действие → новое состояние».
Редьюсер — это функция, которая описывает, как меняется state.
function reducer(state, action) {
switch (action.type) {
case "increment":
return { count: state.count + 1 };
default:
return state;
}
}
const [state, dispatch] = useReducer(reducer, { count: 0 });
Важно: useReducer удобен, когда много разных действий.
Задания
Задание: корзина
- Создай reducer для добавления товара.
- Добавь действие «удалить товар».
- Подключи dispatch к кнопкам.
Проверка себя
Ты понимаешь, когда useReducer удобнее, чем useState.
Мини-проект
Цель: список задач с действиями.
Требования: добавить, удалить, отметить как выполнено.
Критерий готовности: всё управление идёт через reducer.
Словарь главы
- Reducer
- Функция, описывающая изменение состояния.
- Action
- Событие, которое описывает, что произошло.