Менеджер состояния «Атом»
Соберите синхронный менеджер состояния в духе Redux: чистые редьюсеры с иммутабельными обновлениями, селекторы и производные данные, машину undo/redo, цепочку middleware и сборку store с подписками. Каждая задача — рабочий модуль системы.
Что тебя ждёт в этом пути
Что ты построишь
Менеджер состояния «Атом» — синхронный аналог Redux, собранный из 25 задач в пяти паках. Начнёшь с чистых редьюсеров доски задач: добавление, переключение статуса, удаление без мутации массива. Дальше — селекторы с мемоизацией, машина undo/redo на past/future, цепочка middleware с логгером и валидатором, которая останавливается на первом veto. В последней задаче соберёшь store целиком: dispatch проходит через middleware, редьюсер и уведомляет подписчиков только при реальном изменении состояния.
Для кого
Для тех, кто уже пишет на JavaScript и пользовался Redux или Zustand как чёрным ящиком, а теперь хочет понять, из чего он собран изнутри. Уровень входа medium: путь не объясняет замыкания и spread с нуля, а сразу проверяет их на модулях реальной системы управления состоянием.
Чему научишься
- Писать чистые редьюсеры с иммутабельными обновлениями массивов и объектов
- Строить селекторы производных данных и кэшировать их по аргументам
- Реализовывать undo/redo через стеки past и future
- Собирать цепочку middleware с остановкой на первом отклонённом действии
- Сворачивать несколько middleware в одну функцию через composeMiddleware
- Собирать store с getState/dispatch и подпиской через subscribe
- Уведомлять подписчиков только при действительном изменении состояния
Задачи пути — 5 модулей, 25 задач
Каждый модуль — навык. Решаешь задачи по порядку, и к финалу из них собирается рабочий результат.
Готов начать этот путь?
Зарегистрируйся — откроем путь прямо на первой задаче. Без установки и настройки, всё в браузере.