1. Знакомство с React
Ёмкий обзор React и его экосистемы. Познакомимся с основными понятиями, фундаментальными принципами, конфигурацией окружения, понятием компонента и его видами, JSX.
2. Способы создания React-приложения
Научимся создавать приложения разными способами и инструментами (c нуля, используя Webpack и Babel.JS / Create React App / Next.JS / Gatsby), с Server-Side Rendering'ом и без него.
3. Стили в React-приложении
Научимся задавать стили для React-приложения и управлять ими с помощью современных инструментов (PostCSS, styled-components, styled-jsx).
4. Свойства и состояние компонента
Изучим понятие свойств (properties) в компонентах. Научимся их передавать, осуществлять проверку типов. Разберемся с понятием и особенностями использования состояния компонента (state).
5. Stateful- и Stateless- компоненты
Введем понятие Stateless-компонента, узнаем преимущества использования такого подхода.
6. Жизненный цикл компонента
Изучим элементы жизненного цикла компонента, научимся использовать их на практике.
7. Встроенные и пользовательские хуки (React Hooks)
Соберем практики использования нового инструмента в библиотеке React для улучшения читаемости и повторного использования в коде.
8. Тестирование с помощью Jest и React Testing Library
В процессе разработки приложения мы будем писать тесты для наших компонентов с использованием Jest и React Testing Library.
9. Взаимодействие с API
Разработаем приложение, которое будет взаимодействовать со внешними API, получать и отправлять данные через API и отображать их на фронтенде.
10. Роутинг в приложении (React Router), порталы (React Portals)
Научимся матчить url и рендерить нужную страницу без перезагрузки, так, как это должно работать в Single Page Application. Разберем сложные кейсы, такие как обработка входящих параметров, редиректы, страницы ошибок, авторизованный доступ и модальные окна с использованием порталов
11. Обработка событий
Введем понятие синтетических событий в библиотеке React. Научимся их обрабатывать, реализуем drag'n'drop и научимся работать с буфером обмена.
12. Контекст и аутентификация
Подробно разберём новый механизм контекста в библиотеке React. Научимся эффективно применять его в приложении. Научимся работать с аутентификацией, localStorage и cookies.
13. Способы создания форм
Узнаем нюансы создания простых и сложных форм для приложения при помощи разных подходов и инструментов (без сторонних инструментов, React Hook Form, Formik)
14. Production-сборка и Deployment
Практикум по организации файловой структуры проекта, настройке окружения и подготовке сборки и деплоя приложения с последующим сопровождением.
Факультатив. Redux
Декларативные подходы и middleware. Прикладное применение Redux с использованием в проекте.