Чему вы научитесь
- Вы изучите основные концепции React, такие как Компоненты (Components), JSX (JavaScript Syntax Extension), Свойства (Props) и Состояние (State)
- Поймете, как React работает изнутри, как работают функциональные компоненты и как JSX конвертируется в JavaScript с помощью компилятора Babel
- Создадите много различных проектов, начиная с простых, направленных на использование отдельных функций React и заканчивая сложными с разными функциями React
- Вы изучите: Create React App, переиспользование компонентов, условный рендеринг, метод map, контролируемые поля ввода.
Материалы курса
24 разделов • 189 лекций • Общая продолжительность 10 ч 28 мин
Материалы курса
- Предпросмотр01:15
- Скачайте архив с проектами
00:41
- Введение в React
00:47
- Предварительные требования к курсу
03:15
- Предпросмотр02:44
- Преимущества и недостатки одностраничных приложений
04:38
- Основы React и взаимодействие с DOM
07:05
- Ключевые понятия в React
00:44
- Компоненты
04:22
- Иерархия и переиспользование компонентов
02:48
- Из чего состоят компоненты React
00:41
- Функциональные и классовые компоненты
02:06
- Предпросмотр05:13
- Встроенные и пользовательские компоненты
01:50
- Корневой элемент в JSX
01:56
- Свойства и состояние компонентов
02:19
- Родительские и дочерние компоненты
02:02
- Принципы изменения свойств и состояния
03:00
- Ререндеринг компонентов
00:49
- Резюме по ключевым понятиям в React
01:38
- React Hooks
00:50
- Программы для курса
02:11
- Установка и настройка расширения Prettier
02:20
- Проект с Vanilla JS
03:49
- Запуск приложения с помощью Live Server
01:29
- Замена текста кнопки при нажатии с помощью JS
03:36
- Добавление стилей CSS в HTML файле
02:01
- Изменение стилей кнопки при нажатии
02:46
- Анализ HTML страницы в инструментах разработчика Google Chrome
01:44
- Подведение итогов по примеру с Vanilla JS
02:18
- Ссылки для подключения React, React DOM и Babel
00:05
- Пример с подключением React в файл HTML
02:50
- Создание h1 элемента с помощью React
05:35
- Подключение библиотеки react-dom
02:04
- Добавление div для монтирования React приложения
00:46
- Монтирование приложения React в DOM с помощью react-dom
02:44
- Проверка успешного добавления React компонента в DOM
00:56
- Проект по добавлению h1 с помощью Vanilla JS
03:22
- Сравнения результатов добавления h1 с React и без него
03:07
- Проект с использованием JSX
02:32
- Почему код JSX не запустился в веб браузере
01:41
- Для чего нужен Babel
03:51
- Трансформация кода JSX с помощью Babel
05:12
- Попытка сконвертировать код JSX без общего корневого тега
05:39
- Подведение итогов по Babel
01:43
- Подключение Babel в файле HTML
02:36
- Задание типа для JavaScript кода для корректной трансформации Babel
00:39
- Запуск приложения с JSX при подключенном Babel
01:43
- Подведение итогов по проекту с JSX и Babel
00:46
- Обзор сайта с документацией по React
01:23
- Проект с React с таким же функционалом как в первом проекте
03:14
- Создание кнопки с помощью React
01:01
- Почему в JSX нужно использовать className вместо class
01:39
- Предпросмотр00:42
- Перенос JavaScript кода в отдельный файл
01:26
- Запуск проекта React с помощью Live Server
06:32
- Использование JavaScript в коде JSX
02:21
- Добавление обработчика при нажатии на кнопку
01:24
- Проверка замены текста на кнопке при нажатии
03:19
- Перенос кода JSX в функциональный компонент React
04:10
- Добавление состояния компонента с помощью хука useState
04:54
- Перезаписывать значения переменных из состояния непрямую нельзя
01:26
- Изменение состояния с помощью вызова функции
00:46
- Предпросмотр01:29
- Чистые функции и функции с побочными эффектами
02:47
- Функции с побочными эффектами в React
02:06
- Изменение стилей кнопки при нажатии с помощью React
04:50
- Подведение итогов по проекту с изменением кнопки с помощью React
03:43
- Добавление свойства для компонента
05:54
- ЗАДАНИЕ - Передать дополнительное свойство
00:11
- РЕШЕНИЕ - Передать дополнительное свойство
02:06
- Курс по предварительным требованиям
04:10
- HTML
04:36
- CSS
05:55
- Переменные в JavaScript
01:57
- Функции
03:33
- Стрелочные функции
02:40
- Операторы
03:38
- Логические операторы
02:21
- Spread оператор
02:01
- Деструктуризация объектов
02:44
- Деструктуризация массивов
01:31
- Деструктуризация параметров функции
02:28
- Тернарный оператор
02:42
- Метод массивов map
03:47
- Модули ES6
02:59
- Классы
04:15
- Промисы и fetch
02:16
- Async и await
02:28
- Именование переменных в React
02:49
- NPM
03:18
- Семантическое управление версиями
04:16
- Скрипты NPM
01:06
- Резюме для курса по предварительным требованиям
00:21
- Create React App
04:15
- Создание приложения с помощью Create React App
09:39
- Обзор содержимого проекта React
16:45
- Переустановка всех зависимостей NPM
02:26
- Запуск приложения с помощью npm start
02:52
- Анализ файлов приложиения React
13:35
- Создание production версии с помощью npm run build
06:18
- Пересоздание версии для production
07:52
- Тестирование приложения с помощью npm test
06:04
- Отключение react-scripts с помощью npm run eject
10:23
- Запуск приложения после npm run eject
07:23
- Создание шаблона для последующих проектов
04:33
- Изменения CSS файлов в шаблонном проекте
04:45
- Модификация html файла в шаблонном проекте
01:09
- Замена favicon в шаблонном проекте
05:10
- Подведение итогов по очистке шаблонного приложения
01:05
- Отключение Git в проекте
05:21
- Проект по переиспользованию компонентов
04:53
- Вынос компонента в отдельный файл
02:44
- Что будет если название компонента будет с маленькой буквы
02:33
- ЗАДАНИЕ - Создание еще одного компонента
00:31
- РЕШЕНИЕ - Создание еще одного компонента
01:34
- Проект по использованию props
06:19
- ЗАДАНИЕ - Добавление свойства для компонента
00:14
- РЕШЕНИЕ - Добавление свойства для компонента
00:57
- Деструктуризация свойств
03:07
- Проект по условному возврату JSX
07:45
- Значение true для свойств можно опускать
01:14
- Тернарный оператор в JSX
03:14
- Резюме по проекту с условным возвратом JSX
02:53
- Проект с состоянием компонента
08:03
- Добавление состояния для компонента RandomNum
03:49
- Создание функции по генерации случайного числа
03:36
- Генерирование нового случайного числа при нажатии на кнопку
07:36
- ЗАДАНИЕ - Вынести функцию в отдельный модуль
00:56
- РЕШЕНИЕ - Вынести функцию в отдельный модуль
02:22
- ЗАДАНИЕ - Добавление свойства для случайных чисел
02:15
- РЕШЕНИЕ - Добавление свойства для случайных чисел
03:21
- Резюме по проекту с генерированием случайных чисел
03:41
- Проект по передаче состояния через свойства
07:34
- В состоянии какого компонента сохранять счетчик кликов
02:06
- Добавление состояния со счетчиком кликов
02:25
- ЗАДАНИЕ - Передача счетчика в компонент Counter
00:13
- РЕШЕНИЕ - Передача счетчика в компонент Counter
01:58
- Изменение состояния в дочернем компоненте
03:57
- Изолирование состояния в родительском компоненте
06:50
- Резюме по проекту передачи состояния через свойства
02:14
- Очередность рендеринга компонент
03:04
- Обновление состояния происходит асинхронно
02:29
- Расширение React для Google Chrome
04:30
- Завершение проекта по изменению состояния из дочерних компонент
00:35
- Отображение данных из массивов
06:15
- Пример с методом массивов map
09:22
- Добавление key при использовании метода map
04:20
- Проект с итерацией по массиву объектов
01:40
- Генерация случайных данных для проекта
03:41
- Добавление массива объектов в проект
03:44
- Итерация по массиву объектов
03:33
- ЗАДАНИЕ - Передача всех свойств объекта в компонент
00:46
- РЕШЕНИЕ - Передача всех свойств объекта в компонент
04:40
- Использование spread оператора для передачи свойств
06:25
- Отображение данных из объекта в интерфейсе
03:29
- ЗАДАНИЕ - Создание компонента Persons
00:38
- РЕШЕНИЕ - Создание компонента Persons
03:48
- Добавление стилей CSS для карточек
04:54
- Подведение итогов по проекту с массивом объектов
04:52
- Использование оператора И в JSX коде
03:10
- Добавление стилей с помощью свойства style
02:44
- Добавление обработчика нажатия на кнопку Reset
02:11
- Условное отображение блока JSX с помощью оператора И
04:46
- Использование двойного оператора НЕ в JSX
01:51
- Резюме по проекту с оператором И
00:55
- Проект по использованию React Fragment
04:06
- Добавление пустого тега JSX
02:47
- Почему React не нужно импортировать
02:30
- Резюме по использованию React Fragment
01:08
- Проект по неконтролируемым полям ввода
07:04
- Получение значений из полей ввода
06:21
- Подведение итогов по проекту с неконтролируемыми полями ввода
02:50
- Проект по контролируемым полям ввода
04:19
- Добавление обработчиков изменений в полях ввода
03:10
- ЗАДАНИЕ - Контролируемое поле для ввода пароля
00:11
- РЕШЕНИЕ - Контролируемое поле для ввода пароля
00:41
- Данные из полей ввода теперь находятся в состоянии
02:44
- Резюме по проекту с контролируемыми полями ввода
00:40
- Сохранения объекта в состоянии компонента
08:40
- Проект с использованием свойства children
05:46
- Добавление других свойств для компонента Wrapper
03:55
- Резюме по проекту со свойством children
02:11
- Проект по использованию fetch в компонентах
06:45
- Проблема с изменением состояния при использовании fetch
05:10
- Выполнение асинхронных действий с помощью useEffect
05:11
- Добавление зависимостей в useEffect
01:48
- Отображение данных от удаленного сервера в интерфейсе
02:07
- Резюме по проекту с использованием useEffect
03:24
Описание
В курсе используется последняя версия React - 18!
Если вы хотите стать успешным React программистом - этот курс для вас. Это лучший курс для понимания React, изучения всех ключевых функций React, а также закрепления всех полученных знаний на практике с помощью десятков задач.
React - это самая популярная библиотека для создания пользовательских интерфейсов в одностраничных приложениях.