Чему вы научитесь
- 🔍 Отличать состояние от «просто данных» — по трём требованиям, а не по интуиции
- 🧠 Объяснять, почему контекст (Context) не решает проблему лишних перерисовок — он закрывает только область видимости, а не избирательную реактивность (reactivity)
- ⚙️ Понимать, что на самом деле чинит React.memo — и почему это заплатка, а не архитектурное решение
- 🏗️ Написать рабочее хранилище и useSelector руками — на чистых useState и useEffect, без единой внешней библиотеки
- 🎯 Узнавать этот же приём под капотом — у useSyncExternalStore, Jotai, Zustand и Redux
О курсе
«Грокаем состояние в React» — не полноценный курс вроде «Грокаем React» или «Грокаем JavaScript», а короткое и глубокое исследование одной концепции: состояния в React. Тот же метод — боль, народное заблуждение, код как доказательство, — но на трёх лекциях вместо десяти.
1. Что такое состояние и реактивность Какая часть данных интерфейса никогда не долетает до сервера — и почему её всё равно нужно где-то хранить. Реактивность на примере табличного редактора против текстового. Три требования, которым обязаны отвечать данные, чтобы называться состоянием: переживать перерисовку, быть реактивными, иметь чётко заданную область видимости.
2. Context — не решение createContext, Provider и useContext на практике: почему компонент, который вообще не читает контекст, всё равно перерисовывается при каждом изменении состояния — и почему React.memo в этой ситуации не решение, а заплатка.
3. Наблюдатель и Jotai Хранилище с нуля — getState, setState, subscribe — и хук useSelector на связке useState + useEffect, полностью рабочий и без единой внешней библиотеки. Как эта же связка формализована сегодня в useSyncExternalStore и что происходит под капотом у Jotai, Zustand и Redux.
Курс написан как самостоятельный вход: не нужно предварительно проходить «Грокаем React» или читать какие-либо книги. Если тема зайдёт — логичное продолжение это «Грокаем React» (устройство React изнутри, на исходном коде библиотеки) и «Грокаем JavaScript» (язык в терминах спецификации).
Для кого этот курс
Начальные требования
Формальных предварительных требований нет — курс написан как самостоятельный вход, без обязательных книг или курсов до него.
- ✅ Базовый опыт с React — писали компоненты, пользовались хуками, знакомы с
useState - ✅ Базовое знание JavaScript — функции, объекты, замыкания на уровне рабочей интуиции
Если вы совсем не работали с React — курс будет тяжёлым: примеры не объясняют, что такое компонент или хук, а сразу разбирают их поведение.
Наши преподаватели
Как проходит обучение
📝 Три лекции — читаете последовательно, в каждой хук, код и разбор построчно, со ссылками на первоисточники
💬 Комментарии к урокам — задавайте вопросы напрямую автору, автор отвечает на все комментарии
🔓 Курс открыт целиком — все три лекции доступны сразу, без записи и без ожидания
⏱️ Без дедлайнов — проходите в своём темпе, доступ бессрочный
Программа курса
Что вы получаете
- 🧠 Точное понимание состояния в React — три требования вместо расплывчатого «это просто данные»
- 🏗️ Рабочий код хранилища и useSelector, написанный руками, — не абстракция, а то, что можно открыть и перечитать
- 💼 Понимание, что происходит под капотом у Context, React.memo, useSyncExternalStore, Jotai, Zustand и Redux
- 🆓 Стоимость: бесплатно. Без сертификата — в курсе нет заданий с баллами, только три лекции
- ♾️ Бессрочный доступ ко всем материалам курса