
Разбираемся с инструментами которые нам понадобятся для прохождения курса, смотрим превью готового приложения и структуру курса по веткам в girhub репозитории
Создаем свой новый проект через create-react-app, первый раз запускаем и разбираемся что в него входит
В этой лекции мы вместе сделаем поле ввода для добавления города, кнопку добавления и научимся создавать реакт компоненты для подобных элементов интерфейса
В этой лекции мы продолжаем верстать интерфейс нашего приложения и сделаем карточку города на которой будет выводиться информация по городе
Разбираем как в реакте можно обрабатывать пользовательские события: клики по кнопкам, изменения полей и тд
Начинаем разбираться с фундаментальными механизмами работы реакта, а также props и их использование для динамического рендеринга компонентов
В этой лекции мы разберем хук useState, научимся его использовать и поймем глобальную концепцию реакта для хранения стейта приложения
В этой лекции мы используем useState и обработчики событий для добавление города в список городов и их динамический показ
Разбираем хук useRef и в целом понятие ref и используем его на практике для добавления фокуса на поле ввода города
Разбираемся с хуком useEffect, жизненным циклом компонента и возможностями хука
Используем useEffect и useState чтобы делать fetch запрос на сервер и выводить информацию про город на его карточке
Разбираем хук useMemo и используем его для оптимизации приложения и избежания лишних перерасчетов
Создаем собственные хуки и используем их в нашем приложении
Учимся оптимизировать приложения на react с использованием инструмента profiler
Используем хук useReducer для создания единого объекта состояний для списка городов
Расширяем возможности редюсера добавляя функционал удаления города
Переносим в общий стор логику работы input и добавляем возможность редактировать конкретный город
Решаем проблему множественной переброски props с помощью глобального контекста и хука useContext, разбираем концепцию redux и архитектуру нашего приложения
В этой лекции мы разберем базовый синтаксис, а также использование props в классовых компонентах
Изменяем и выводим state в классовых компонентах, находим отличия от функциональных компонентов
Разбираемся с методами жизненного цикла в классовых компонентах
Осматриваем компоненты высшего порядка(higher order components) в react и начинаем их использовать на практике
Смотрим уже готовые компоненты высшего порядка из библиотеки react и других библиотек
Разбираемся с методом жизненного цикла componentDidCatch, props.children и создаем свой собственный errorBoundary компонент
Устанавливаем react-router, смотрим базовые примеры и используем его в своем приложении
Используем динамические Route для создания страницы конкретного города
Переиспользуем компонент Card в SingleCity и разбираемся в свойствах Route
Используем хук useHistory для редиректа и useRouteMatch для определения на какой странице находится пользователь
Создаем хук useForecast чтобы брать погоду на ближайшие дни
Верстаем и выводим список мини-карточек погоды
Выводим все детали погоды на мини-карточку
Рассматриваем несколько способов добавление ссылки перехода на главную страницу и разбираем их особенности
Разбираем хуки useLocation и useParams из react-router
Знакомимся с практиками ручного тестирования, находим баги, недочеты в логике нашего приложении и исправляем их
Разберем обработку ошибок в случае некорректных запросов на сервер и добавим обработку таких ошибок в наше приложение
Используем библиотеку enzyme для тестирования целых компонентов
Разбираемся в более сложных кейсах тестирования и тестируем классовые компонент
Разбираемся как правильно вынести отдельные функции логики нашего приложения и протестировать их
Фиксим баги и подготавливаем основу для написания тестов для TDD и компонента
Создаем тестовые кейсы для TDD и пишем компонент под тесты
React - одна из самых интересных и популярных библиотек для создания клиентских приложений на javascript. Данный курс сфокусирован на изучение данной библиотеки и охватывает полный цикл разработки приложения: от понимания азов библиотеки до создания приложения, его оптимизации и тестирования. После прохождения курса вы получаете реальное большой react приложение с несколькими страницами, использованием open weather API для запроса данных с сервера и вывод данных в приложении.
Создаем многостраничное приложение
Пишем приложение для показа погоды городов, которые будем добавлять. У каждого города будет возможность вывести прогноз погоды на ближайшие дни. Приложение будет состоять из нескольких страниц, переход по которым будет динамическим без перезагрузки страницы и будет полноценным SPA приложением. Также приложение будет иметь большое хранилище данных в стиле Redux, которое используется в большинстве React приложений.
Постепенная нагрузка
Начинаем с основ React и переходим к более сложной логике приложения, используя ранее изученные техники. Разбираемся как работает та или иная особенность React на примерах из реальной жизни. Отдыхаем от постоянной теории, практикуя верстку и дополняя наше приложения красивыми UI элементами, оптимизируя и полируя наше приложение.
Большая база материалов для обучения
На осмотр каждой функции/механизма React в лекцию прикрепляются ссылки на документацию, схемы работы и другие полезные материалы. Вы можете использовать данный курс как конспект, в котором будет структурировано храниться учебный материал.
Практика
Сразу же отрабатываем полученные знания на примере приложения, которое будем создавать. Учим функцию состояния для приложения и сразу же используем её для поля ввода города. Находим места для оптимизации в приложении и сразу же оптимизируем на примере нашего приложения. Меньше абстрактных и изолированных примеров, но больше использования полученных знаний сразу же на примере реального приложения.
Актуальные знания
Изучаем не только классовые компоненты React, но и функциональные, React hooks, создаем свои собственные и следуем самым актуальным трендам создания React приложений. Разбираемся в каком стиле писались приложения раньше, чтобы уметь поддерживать ранее написанный кем-то код, а также изучаем современные инструменты написания React приложений и разбираемся в их отличиях.
Полный цикл разработки
На примере нашего приложения мы охватываем полный цикл разработки, начиная от написания кода, его оптимизации и рефакторинга, затем тестируем код и пишем unit тесты. В результате получаем готовое приложение, с которым могут взаимодействовать пользователи.
После прохождения курса вы сможете:
Разрабатывать реальные приложения на React
С полученными знаниями вы сможете эффективно писать приложения с нуля, строя архитектуру по шаблону приложения, которое мы будем создавать в данном курсе. Вы научитесь использовать шаблонизатор приложений React для своих будущих проектов.
Разбираться в существующих приложениях как front-end разработчик и член команды
Понимание как работает React поможет вам без труда разбираться в кем-то написанных React приложениях. Вы сможете оптимизировать эти приложения, изменять их логику и находить их проблемы и баги для исправления.
Разрабатывать мобильные приложения
React также используется для разработки мобильных приложений и с накопленными знаниями у вас будет возможность переключиться в react-native разработчика мобильных приложений.
Покрывать тестами приложения
Изучив unit тестирование, вы сможете покрывать unit тестами новые или уже существующие React приложения.