open atlas

react

React с нуля до senior

Как React рендерит на самом деле — reconciliation, батчинг состояния, эффекты, мемоизация — глубже туториалов.

14 юнитов·51 уроков·~15 ч

Начать трек
01

Рендер, коммит, reconciliation

React — это чистая функция фазы рендера плюс фаза коммита; reconciliation по типу и key решает, что переживёт обновление.
02

Эффекты, мемоизация, контекст

Эффекты синхронизируют с внешними системами, мемоизация меняет память на время рендера, контекст перерисовывает поддеревья.
03

Загрузка данных: эффекты, Suspense, query-библиотеки

Загрузка данных — проблема кеша, а не запроса: UX решают гонки, водопады и инвалидация, а не сам fetch.
04

Формы, экшены, optimistic UI

Форма — конечный автомат: кто владеет значением, когда валидировать и что UI обещает до подтверждения сервера.
05

Перформанс: сначала измерь, потом режь

Профилируй до оптимизации: медленный React — это объём рендера; виртуализация, transitions и сплиттинг сильнее микро-мемоизации.
06

Архитектура состояния: от колокации до внешних сторов

Держи состояние в самом нижнем компоненте, которому оно нужно; контекст, редьюсеры и внешние сторы — когда колокация ломается.
07

Тестирование React-приложений

Тестируй то, что видит пользователь, а не реализацию: RTL-запросы по роли, user-event для живого ввода, msw на сетевом шве.
08

Конкурентный React

Конкурентность — это прерываемость: границы Suspense кроят загрузку, deferred-значения сбрасывают срочность, streaming SSR шлёт HTML волнами.
09

Обработка ошибок и восстановление

Error boundary ловит только краш рендера: хендлеры, эффекты и промисы мимо — восстановление это reset-ключи, ретраи, частичный UI.
10

Доступность в React

Сначала семантика, ARIA как контракт: фокус — состояние, которым управляешь ты, композитные виджеты следуют WAI-ARIA, a11y тестируется в CI.
11

React Server Components

RSC делит дерево по среде: серверные компоненты рендерятся в сериализуемый payload, клиентские острова гидрируются — пропсы идут по проводу.
12

Дизайн-системы в React

Дизайн-система — это API: композиция вместо конфигурации, headless-логика + стилевые обёртки, полиморфный asChild, токены как контракт.
13

Анимации и интерактивность

Анимируй transform и opacity на компоузере; FLIP имитирует layout-анимацию, View Transitions снимают снапшот DOM, жестам нужны бюджеты.
14

React в проде

React в проде — это эксплуатация: миграции версий без переписывания, RUM по релизам, профилирование живых пользователей, разборы инцидентов. Уверенно здесь? Следующий шаг — трек react-patterns: паттерны композиции, состояния и границ, которые держат большие кодовые базы React изменяемыми.

Проекты по этому треку

Guided-проекты, которые закрепляют изученное здесь.

◆ Проекты

Совместные курсоры

Показать живой курсор и выделение каждого подключённого пользователя в общем документе, без конфликтов, через WebSocket.

◆ Проекты

Палитра команд

Палитра команд ⌘K с нечётким ранжированием, асинхронными источниками действий и полным клавиатурным управлением (стрелки, Enter, Escape, области видимости) — интерактивный слой, который нужен каждому профессиональному инструменту.

◆ Проекты

React-фича под нагрузкой

Выкати одну настоящую production-фичу на React — живой совместный дашборд активности — а потом эксплуатируй её: оптимистичные правки, стриминговые обновления, бюджет на кадр, полную доступность и разбор инцидента, когда render-шторм замораживает вкладку.

◆ Проекты

Мини-сигналы

Собери реактивную библиотеку сигналов примерно в 100 строк (signal/computed/effect) с автоматическим отслеживанием зависимостей и безглючными батч-обновлениями — та же модель, что лежит в основе Solid, Preact Signals и Vue 3.

◆ Проекты

Виртуальная таблица данных

Отрисуй и плавно прокручивай 100 тыс. строк на 60fps с windowing-виртуализацией, залипающими заголовками и полной клавиатурной навигацией — без библиотек, только математика.

Следующий трек

Next.js с нуля до senior

Стратегии рендеринга, App Router, серверные компоненты и слои кеширования — Next.js в продакшене.