React
JSX, хуки, virtual DOM и управление состоянием
Что такое JSX?
НачальныйJSX — расширение синтаксиса JavaScript, позволяющее писать HTML-подобный код в JS-файлах. Компилируется в вызовы React.createElement().
Хуки React
СреднийХуки позволяют использовать состояние и другие функции React в функциональных компонентах. useState, useEffect, useCallback, useMemo и другие.
Virtual DOM
НачальныйVirtual DOM — абстракция реального DOM в виде JS-объектов. React использует её для эффективного обновления интерфейса через алгоритм сравнения (reconciliation).
Context API
СреднийContext предоставляет способ передавать данные через дерево компонентов без явной передачи props на каждом уровне.
Создание React приложения
НачальныйКак создать React-проект с нуля: Vite, структура папок, TypeScript, ESLint. Пошаговое руководство по настройке современного React-приложения.
React Router — маршрутизация
СреднийМаршрутизация в React-приложении: React Router v7, nested routes, динамические параметры, guards, lazy loading страниц.
Zustand — управление состоянием
СреднийZustand — минималистичный менеджер состояния для React. Простое глобальное состояние без boilerplate, middleware и провайдеров.
Redux Toolkit — управление состоянием
СреднийRedux Toolkit (RTK) — официальный набор инструментов для Redux. Создание slices, async thunks, оптимистичные обновления и DevTools.
TanStack Query — серверное состояние
СреднийTanStack Query (React Query) — библиотека для работы с серверными данными: кэширование, автоматическое обновление, optimistic updates, пагинация и infinite scroll.
React Hook Form — формы и валидация
СреднийReact Hook Form — производительная библиотека для работы с формами. Регистрация полей, валидация, схемы Zod, обработка ошибок и работа с UI-библиотеками.
React + TypeScript
СреднийТипизация React-компонентов: FC, Props, generics, useState, useRef, useRef typing, event handlers и полезные паттерны.
React Server Components
ПродвинутыйReact Server Components (RSC) — компоненты, которые выполняются на сервере. Когда использовать, чем отличаются от клиентских компонентов, как работают в Next.js.
Next.js — фреймворк для React
СреднийNext.js: App Router, маршрутизация на основе файлов, SSR, SSG, ISR, layout, loading, error — всё для продакшн React-приложения.
Error Boundaries — обработка ошибок
СреднийError Boundaries в React: перехват ошибок рендера, отображение fallback-UI, логирование ошибок и паттерны восстановления.
React Portals
СреднийReact Portals позволяют рендерить компоненты за пределами DOM-иерархии родителя. Модальные окна, тосты, тултипы без проблем с z-index и overflow.
Suspense и lazy — ленивая загрузка
СреднийReact.lazy и Suspense для code splitting: загрузка компонентов по требованию, fallback-UI, lazy-маршруты и Suspense для данных.
React.memo, useMemo, useCallback — оптимизация рендера
СреднийКак избежать лишних ре-рендеров в React: React.memo для компонентов, useMemo для вычислений, useCallback для стабильных ссылок на функции.
Паттерны Custom Hooks
СреднийПрактические кастомные хуки React: useDebounce, useLocalStorage, useMedia, useToggle, useFetch и другие полезные паттерны.
Тестирование React — Jest и React Testing Library
СреднийТестирование React-компонентов: рендер, поиск элементов, взаимодействие, моки, асинхронные тесты и покрытие кода.
CSS-in-JS — стили в React
СреднийCSS-in-JS подходы в React: styled-components, Emotion, CSS Modules. Плюсы, минусы, сравнение и когда использовать.
UI-библиотеки для React
НачальныйОбзор UI-библиотек для React: Material UI, Ant Design, Shadcn/ui, Radix UI, Mantine. Сравнение, плюсы, минусы и когда какую использовать.