О чём курс
Этот продвинутый курс по React предназначен для опытных разработчиков, стремящихся углубить свои знания в React. Вы сможете разобраться в таких темах, как GraphQL, React Portals, Context API, управление состоянием с помощью Redux и Redux Toolkit, а также взаимодействие с серверами с использованием Thunk, React Query или RTK Query. Программа обучения охватывает всесторонние стратегии тестирования, включая модульное, интеграционное и E2E-тестирование, оптимизацию производительности с помощью мемоизации и React 19 Compiler, сложную обработку форм, Server-Side Rendering (SSR), продвинутые хуки React из React 18 и 19, а также разделение кода и ленивую загрузку.
Цели
Освоить продвинутые технологии использования React и отработать практику их применения.
Целевая аудитория
Углубить знания опытных разработчиков в React, сосредоточив внимание на современных методах управления состоянием, тестирования и оптимизации.
Обучить новейшим фичам React 18 и 19, включая новые хуки и инструменты, такие как React Compiler.
Познакомить с тестированием приложений на всех уровнях: от модульного до end-to-end.
Подготовить участников к разработке высокопроизводительных, масштабируемых и поддерживаемых приложений.
Предварительная подготовка
Опыт разработки на React.
Для кого
Разработчик
Улучшаемые навыки
Оптимизация производительности приложений
Контекст API и управление состоянием
Создание пользовательских хуков
Работа с React Router
Интеграция с внешними API и обработка данных
Расписание курсов
Темы курса
Основные концепции. SDL
Запросы. Директивы
Резолверы
Платформа Apollo
Apollo Studio
Apollo Client
Подписки
(теория – 8 ч., домашнее задание – 4 ч.)
Жизненный цикл компонентов с хуками
useState и его правильное использование
useEffect с debouncing (отложенным выполнением)
Мемоизация с использованием useMemo, useCallback и useRef
Распространенные ошибки при использовании useCallback и useMemo
Хук useImperativeHandle
Хук useLayoutEffect
Хуки из React 18: useInsertionEffect, useDeferredValue, useTransition, useSyncExternalStore
React Compiler в React 19
Actions в React 19
Хуки React 19
Пользовательские хуки в популярных библиотеках
(теория – 6 ч., домашнее задание – 2 ч.)
03
React Context. React Portal
(теория – 2 ч., домашнее задание – 2 ч.)
(теория – 2 ч., домашнее задание – 1 ч.)
Обзор Redux
Redux DevTools
Часто задаваемые вопросы и лучшие практики Redux
Middleware в Redux: как это работает
Thunk Middleware
Создание собственного middleware
(теория – 3 ч.)
RTK
Лучшие практики работы с RTK
Использование reselect в RTK
RTK Query
(теория – 3 ч., домашнее задание – 1 ч.)
07
Тестирование React-компонентов
Snapshot-тестирование
Библиотека react-testing-library
Тестирование условного рендеринга
Тестирование граничных условий
Асинхронные утилиты
(теория – 3 ч., домашнее задание – 1 ч.)
08
Mock и интеграционное тестирование
Mock-тестирование
Мокирование API-запросов с помощью MSW
Модульное тестирование Redux-компонента
Интеграционное тестирование Redux-компонента с редьюсерами
Тестирование редьюсеров в Redux
Тестирование RTK Query с использованием MSW
(теория – 3 ч., домашнее задание – 1 ч.)
09
E2E тестирование с Cypress
Структура папок Cypress
Мокирование ответов API
Обработка ошибок в E2E тестах
Настройка Cypress с Vite
Лучшие практики для E2E тестирования
Производительность
Измерение времени для выявления медленных тестов
(теория – 2 ч., домашнее задание – 1 ч.)
Основные методы работы с формами в React
React-hook-form
(теория – 1 ч., домашнее задание – 1 ч.)
11
Разделение кода и ленивая загрузка модулей
(теория – 1 ч., домашнее задание – 1 ч.)
12
Рендеринг на стороне сервера (SSR) с NextJS
(теория – 2 ч., домашнее задание – 1 ч.)
13
Итого на курс: 36 часов (100%) теоретических занятий и 20 часов (56%) для выполнения домашних работ, которые не входят в основное расписание.
Чему вы научитесь
01
Работать с GraphQL, включая SDL, запросы, директивы, резолверы, подписки, и Apollo.
02
Глубоко понимать и эффективно использовать React Hooks, включая продвинутые хуки из React 18 и React 19.
03
Управлять состоянием приложений с помощью Redux и Redux Toolkit, включая RTK Query и Middleware.
04
Организовывать контекстное взаимодействие компонентов через React Context и использовать React Portal.
05
Тестировать React-приложения с использованием snapshot-тестов, react-testing-library, MSW и Cypress.
Ведущий курса