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