-
Урок 1.
00:00:48
Введение
-
Урок 2.
00:00:42
Скачайте архив с проектами (ОБНОВЛЯЕТСЯ при расширении курса)
-
Урок 3.
00:00:52
Введение в React
-
Урок 4.
00:03:20
Предварительные требования к курсу
-
Урок 5.
00:02:50
Одностраничные приложения
-
Урок 6.
00:04:44
Преимущества и недостатки одностраничных приложений
-
Урок 7.
00:07:11
Основы React и взаимодействие с DOM
-
Урок 8.
00:00:50
Ключевые понятия в React
-
Урок 9.
00:04:28
Компоненты
-
Урок 10.
00:02:53
Иерархия и переиспользование компонентов
-
Урок 11.
00:00:47
Из чего состоят компоненты React
-
Урок 12.
00:02:11
Функциональные и классовые компоненты
-
Урок 13.
00:05:18
JSX - JavaScript Syntax Extension
-
Урок 14.
00:01:56
Встроенные и пользовательские компоненты
-
Урок 15.
00:02:01
Корневой элемент в JSX
-
Урок 16.
00:02:25
Свойства и состояние компонентов
-
Урок 17.
00:02:07
Родительские и дочерние компоненты
-
Урок 18.
00:03:06
Принципы изменения свойств и состояния
-
Урок 19.
00:00:54
Ререндеринг компонентов
-
Урок 20.
00:01:43
Резюме по ключевым понятиям в React
-
Урок 21.
00:00:56
React Hooks
-
Урок 22.
00:02:17
Программы для курса
-
Урок 23.
00:02:25
Установка и настройка расширения Prettier
-
Урок 24.
00:03:54
Проект с Vanilla JS
-
Урок 25.
00:01:35
Запуск приложения с помощью Live Server
-
Урок 26.
00:03:41
Замена текста кнопки при нажатии с помощью JS
-
Урок 27.
00:02:06
Добавление стилей CSS в HTML файле
-
Урок 28.
00:02:51
Изменение стилей кнопки при нажатии
-
Урок 29.
00:01:49
Анализ HTML страницы в инструментах разработчика Google Chrome
-
Урок 30.
00:02:24
Подведение итогов по примеру с Vanilla JS
-
Урок 31.
00:02:55
Пример с подключением React в файл HTML
-
Урок 32.
00:05:40
Создание h1 элемента с помощью React
-
Урок 33.
00:02:09
Подключение библиотеки react-dom
-
Урок 34.
00:00:52
Добавление div для монтирования React приложения
-
Урок 35.
00:02:50
Монтирование приложения React в DOM с помощью react-dom
-
Урок 36.
00:01:01
Проверка успешного добавления React компонента в DOM
-
Урок 37.
00:03:28
Проект по добавлению h1 с помощью Vanilla JS
-
Урок 38.
00:03:12
Сравнения результатов добавления h1 с React и без него
-
Урок 39.
00:02:37
Проект с использованием JSX
-
Урок 40.
00:01:47
Почему код JSX не запустился в веб браузере
-
Урок 41.
00:03:56
Для чего нужен Babel
-
Урок 42.
00:05:17
Трансформация кода JSX с помощью Babel
-
Урок 43.
00:05:44
Попытка сконвертировать код JSX без общего корневого тега
-
Урок 44.
00:01:49
Подведение итогов по Babel
-
Урок 45.
00:02:42
Подключение Babel в файле HTML
-
Урок 46.
00:00:44
Задание типа для JavaScript кода для корректной трансформации Babel
-
Урок 47.
00:01:48
Запуск приложения с JSX при подключенном Babel
-
Урок 48.
00:00:51
Подведение итогов по проекту с JSX и Babel
-
Урок 49.
00:01:28
Обзор сайта с документацией по React
-
Урок 50.
00:03:19
Проект с React с таким же функционалом как в первом проекте
-
Урок 51.
00:01:06
Создание кнопки с помощью React
-
Урок 52.
00:01:45
Почему в JSX нужно использовать className вместо class
-
Урок 53.
00:00:48
Свойства для кнопки в React
-
Урок 54.
00:01:31
Перенос JavaScript кода в отдельный файл
-
Урок 55.
00:06:37
Запуск проекта React с помощью Live Server
-
Урок 56.
00:02:27
Использование JavaScript в коде JSX
-
Урок 57.
00:01:29
Добавление обработчика при нажатии на кнопку
-
Урок 58.
00:03:25
Проверка замены текста на кнопке при нажатии
-
Урок 59.
00:04:16
Перенос кода JSX в функциональный компонент React
-
Урок 60.
00:04:59
Добавление состояния компонента с помощью хука useState
-
Урок 61.
00:01:32
Перезаписывать значения переменных из состояния непрямую нельзя
-
Урок 62.
00:00:52
Изменение состояния с помощью вызова функции
-
Урок 63.
00:01:34
Как меняется реальный DOM при использовании React
-
Урок 64.
00:02:52
Чистые функции и функции с побочными эффектами
-
Урок 65.
00:02:11
Функции с побочными эффектами в React
-
Урок 66.
00:04:55
Изменение стилей кнопки при нажатии с помощью React
-
Урок 67.
00:03:49
Подведение итогов по проекту с изменением кнопки с помощью React
-
Урок 68.
00:05:59
Добавление свойства для компонента
-
Урок 69.
00:00:16
ЗАДАНИЕ - Передать дополнительное свойство
-
Урок 70.
00:02:12
РЕШЕНИЕ - Передать дополнительное свойство
-
Урок 71.
00:04:16
Курс по предварительным требованиям
-
Урок 72.
00:04:41
HTML
-
Урок 73.
00:06:00
CSS
-
Урок 74.
00:02:03
Переменные в JavaScript
-
Урок 75.
00:03:39
Функции
-
Урок 76.
00:02:45
Стрелочные функции
-
Урок 77.
00:03:44
Операторы
-
Урок 78.
00:02:26
Логические операторы
-
Урок 79.
00:02:07
Spread оператор
-
Урок 80.
00:02:49
Деструктуризация объектов
-
Урок 81.
00:01:37
Деструктуризация массивов
-
Урок 82.
00:02:34
Деструктуризация параметров функции
-
Урок 83.
00:02:48
Тернарный оператор
-
Урок 84.
00:03:52
Метод массивов map
-
Урок 85.
00:03:05
Модули ES6
-
Урок 86.
00:04:21
Классы
-
Урок 87.
00:02:21
Промисы и fetch
-
Урок 88.
00:02:33
Async и await
-
Урок 89.
00:02:54
Именование переменных в React
-
Урок 90.
00:03:24
NPM
-
Урок 91.
00:04:21
Семантическое управление версиями
-
Урок 92.
00:01:11
Скрипты NPM
-
Урок 93.
00:00:26
Резюме для курса по предварительным требованиям
-
Урок 94.
00:04:21
Create React App
-
Урок 95.
00:09:45
Создание приложения с помощью Create React App
-
Урок 96.
00:16:51
Обзор содержимого проекта React
-
Урок 97.
00:02:31
Переустановка всех зависимостей NPM
-
Урок 98.
00:02:58
Запуск приложения с помощью npm start
-
Урок 99.
00:13:40
Анализ файлов приложения React
-
Урок 100.
00:06:23
Создание production версии с помощью npm run build
-
Урок 101.
00:07:57
Пересоздание версии для production
-
Урок 102.
00:06:09
Тестирование приложения с помощью npm test
-
Урок 103.
00:10:29
Отключение react-scripts с помощью npm run eject
-
Урок 104.
00:07:29
Запуск приложения после npm run eject
-
Урок 105.
00:04:38
Создание шаблона для последующих проектов
-
Урок 106.
00:04:51
Изменения CSS файлов в шаблонном проекте
-
Урок 107.
00:01:15
Модификация html файла в шаблонном проекте
-
Урок 108.
00:05:15
Замена favicon в шаблонном проекте
-
Урок 109.
00:01:11
Подведение итогов по очистке шаблонного приложения
-
Урок 110.
00:05:26
Отключение Git в проекте
-
Урок 111.
00:04:59
Проект по переиспользованию компонентов
-
Урок 112.
00:02:49
Вынос компонента в отдельный файл
-
Урок 113.
00:02:38
Что будет если название компонента будет с маленькой буквы
-
Урок 114.
00:00:36
ЗАДАНИЕ - Создание еще одного компонента
-
Урок 115.
00:01:40
РЕШЕНИЕ - Создание еще одного компонента
-
Урок 116.
00:06:25
Проект по использованию props
-
Урок 117.
00:00:19
ЗАДАНИЕ - Добавление свойства для компонента
-
Урок 118.
00:01:03
РЕШЕНИЕ - Добавление свойства для компонента
-
Урок 119.
00:03:12
Деструктуризация свойств
-
Урок 120.
00:07:50
Проект по условному возврату JSX
-
Урок 121.
00:01:19
Значение true для свойств можно опускать
-
Урок 122.
00:03:19
Тернарный оператор в JSX
-
Урок 123.
00:02:58
Резюме по проекту с условным возвратом JSX
-
Урок 124.
00:08:09
Проект с состоянием компонента
-
Урок 125.
00:03:54
Добавление состояния для компонента RandomNum
-
Урок 126.
00:03:42
Создание функции по генерации случайного числа
-
Урок 127.
00:07:42
Генерирование нового случайного числа при нажатии на кнопку
-
Урок 128.
00:01:02
ЗАДАНИЕ - Вынести функцию в отдельный модуль
-
Урок 129.
00:02:27
РЕШЕНИЕ - Вынести функцию в отдельный модуль
-
Урок 130.
00:02:20
ЗАДАНИЕ - Добавление свойства для случайных чисел
-
Урок 131.
00:03:26
РЕШЕНИЕ - Добавление свойства для случайных чисел
-
Урок 132.
00:03:46
Резюме по проекту с генерированием случайных чисел
-
Урок 133.
00:07:40
Проект по передаче состояния через свойства
-
Урок 134.
00:02:12
В состоянии какого компонента сохранять счетчик кликов
-
Урок 135.
00:02:30
Добавление состояния со счетчиком кликов
-
Урок 136.
00:00:19
ЗАДАНИЕ - Передача счетчика в компонент Counter
-
Урок 137.
00:02:03
РЕШЕНИЕ - Передача счетчика в компонент Counter
-
Урок 138.
00:04:03
Изменение состояния из дочернего компонента
-
Урок 139.
00:06:55
Изолирование состояния в родительском компоненте
-
Урок 140.
00:02:19
Резюме по проекту передачи состояния через свойства
-
Урок 141.
00:03:10
Очередность рендеринга компонент
-
Урок 142.
00:02:34
Обновление состояния происходит асинхронно
-
Урок 143.
00:04:36
Расширение React для Google Chrome
-
Урок 144.
00:00:40
Завершение проекта по изменению состояния из дочерних компонент
-
Урок 145.
00:06:21
Отображение данных из массивов
-
Урок 146.
00:09:27
Пример с методом массивов map
-
Урок 147.
00:04:26
Добавление key при использовании метода map
-
Урок 148.
00:01:46
Проект с итерацией по массиву объектов
-
Урок 149.
00:03:47
Генерация случайных данных для проекта
-
Урок 150.
00:03:50
Добавление массива объектов в проект
-
Урок 151.
00:03:38
Итерация по массиву объектов
-
Урок 152.
00:00:52
ЗАДАНИЕ - Передача всех свойств объекта в компонент
-
Урок 153.
00:04:46
РЕШЕНИЕ - Передача всех свойств объекта в компонент
-
Урок 154.
00:06:31
Использование spread оператора для передачи свойств
-
Урок 155.
00:03:35
Отображение данных из объекта в интерфейсе
-
Урок 156.
00:00:43
ЗАДАНИЕ - Создание компонента Persons
-
Урок 157.
00:03:53
РЕШЕНИЕ - Создание компонента Persons
-
Урок 158.
00:04:59
Добавление стилей CSS для карточек
-
Урок 159.
00:04:58
Подведение итогов по проекту с массивом объектов
-
Урок 160.
00:03:15
Использование оператора И в JSX коде
-
Урок 161.
00:02:49
Добавление стилей с помощью свойства style
-
Урок 162.
00:02:16
Добавление обработчика нажатия на кнопку Reset
-
Урок 163.
00:04:52
Условное отображение блока JSX с помощью оператора И
-
Урок 164.
00:01:56
Использование двойного оператора НЕ в JSX
-
Урок 165.
00:01:01
Резюме по проекту с оператором И
-
Урок 166.
00:04:12
Проект по использованию React Fragment
-
Урок 167.
00:02:52
Добавление пустого тега JSX
-
Урок 168.
00:02:36
Почему React не нужно импортировать
-
Урок 169.
00:01:13
Резюме по использованию React Fragment
-
Урок 170.
00:07:10
Проект по неконтролируемым полям ввода
-
Урок 171.
00:06:26
Получение значений из полей ввода
-
Урок 172.
00:02:56
Подведение итогов по проекту с неконтролируемыми полями ввода
-
Урок 173.
00:04:24
Проект по контролируемым полям ввода
-
Урок 174.
00:03:16
Добавление обработчиков изменений в полях ввода
-
Урок 175.
00:00:16
ЗАДАНИЕ - Контролируемое поле для ввода пароля
-
Урок 176.
00:00:47
РЕШЕНИЕ - Контролируемое поле для ввода пароля
-
Урок 177.
00:02:50
Данные из полей ввода теперь находятся в состоянии
-
Урок 178.
00:00:45
Резюме по проекту с контролируемыми полями ввода
-
Урок 179.
00:08:45
Сохранения объекта в состоянии компонента
-
Урок 180.
00:05:52
Проект с использованием свойства children
-
Урок 181.
00:04:01
Добавление других свойств для компонента Wrapper
-
Урок 182.
00:02:16
Резюме по проекту со свойством children
-
Урок 183.
00:06:50
Проект по использованию fetch в компонентах
-
Урок 184.
00:05:15
Проблема с изменением состояния при использовании fetch
-
Урок 185.
00:05:17
Выполнение асинхронных действий с помощью useEffect
-
Урок 186.
00:01:53
Добавление зависимостей в useEffect
-
Урок 187.
00:02:12
Отображение данных от удаленного сервера в интерфейсе
-
Урок 188.
00:03:29
Резюме по проекту с использованием useEffect
-
Урок 189.
00:07:18
Проект с массивом постов
-
Урок 190.
00:00:55
ЗАДАНИЕ - Получение массива постов через API
-
Урок 191.
00:06:31
РЕШЕНИЕ - Получение массива постов через API
-
Урок 192.
00:01:54
Добавление обработки ошибок при запросе на сервер
-
Урок 193.
00:01:11
ЗАДАНИЕ - Отображение массива постов в интерфейсе
-
Урок 194.
00:06:06
РЕШЕНИЕ - Отображение массива постов в интерфейсе
-
Урок 195.
00:02:26
Добавление CSS стилей для постов
-
Урок 196.
00:03:56
Отображение возможных ошибок в интерфейсе
-
Урок 197.
00:04:55
Добавление индикации загрузки данных
-
Урок 198.
00:00:46
Добавления заголовка перед списком постов
-
Урок 199.
00:00:34
ЗАДАНИЕ - Перенос индикатора загрузки на место постов
-
Урок 200.
00:01:52
РЕШЕНИЕ - Перенос индикатора загрузки на место постов
-
Урок 201.
00:04:47
Подведение итогов по проекту с массивом постов
-
Урок 202.
00:03:58
Проект с async await в useEffect
-
Урок 203.
00:06:04
Передача async функции в useEffect
-
Урок 204.
00:05:14
Почему в useEffect нельзя передавать асинхронную функцию
-
Урок 205.
00:01:56
Создание отдельной async функции
-
Урок 206.
00:01:59
Использование IIFE - Immediately Invoked Function Expression
-
Урок 207.
00:05:49
Подведение итогов по проекту с async await
-
Урок 208.
00:02:26
Проект с модулями CSS
-
Урок 209.
00:06:10
Импорт файла с CSS стилями
-
Урок 210.
00:05:19
Создание и подключение модуля CSS
-
Урок 211.
00:07:14
Использование классов из CSS модуля
-
Урок 212.
00:03:24
Подведение итогов по проекту с модулями CSS
-
Урок 213.
00:05:23
Обзор финальной версии Todo App
-
Урок 214.
00:00:57
Первая версия проекта Todo App
-
Урок 215.
00:04:42
Организация файлов в папке components
-
Урок 216.
00:03:01
ЗАДАЧИ для первой итерации Todo App
-
Урок 217.
00:06:12
Создание заготовок для всех компонентов Todo
-
Урок 218.
00:00:38
Функционал добавления новой задачи
-
Урок 219.
00:08:55
Создание и использования состояния с массивом задач
-
Урок 220.
00:11:24
Добавление задач с помощью формы
-
Урок 221.
00:02:10
Проверка добавления и отображения задач
-
Урок 222.
00:03:47
Подведение итогов по первой итерации Todo App
-
Урок 223.
00:08:21
Добавление стилей CSS для компонента TodoForm
-
Урок 224.
00:05:37
Добавление стилей CSS для компонента Todo
-
Урок 225.
00:00:23
ЗАДАЧА - Отображение текста об отсутствии задач
-
Урок 226.
00:01:43
РЕШЕНИЕ - Отображение текста об отсутствии задач
-
Урок 227.
00:07:52
Завершение задачи двойным кликом
-
Урок 228.
00:05:17
Добавление иконки возле каждой задачи
-
Урок 229.
00:05:33
Подведение итогов по созданию первой версии Todo App
-
Урок 230.
00:02:16
Проект по созданию второй версии Todo App
-
Урок 231.
00:05:41
Изменение структуры данных на массив объектов
-
Урок 232.
00:05:38
Генерация уникальных id для задач
-
Урок 233.
00:07:43
Завершение рефакторинга с массивом объектов
-
Урок 234.
00:08:37
Добавление и стилизация кнопок удаления и завершения задач
-
Урок 235.
00:01:46
Удаление отдельных задач
-
Урок 236.
00:10:38
Завершение отдельных задач
-
Урок 237.
00:04:12
Условное добавление классов CSS
-
Урок 238.
00:01:01
Подведение итогов по удалению и завершению задач
-
Урок 239.
00:02:15
Добавление блока с кнопками для всех задач
-
Урок 240.
00:08:40
Создание компонента Button
-
Урок 241.
00:06:25
Удаление всех или завершенных задач
-
Урок 242.
00:00:52
ЗАДАЧА - Скрытие блока с кнопками при отсутствии задач
-
Урок 243.
00:00:54
РЕШЕНИЕ - Скрытие блока с кнопками при отсутствии задач
-
Урок 244.
00:06:33
Отключение кнопки удаления завершенных задач
-
Урок 245.
00:06:02
Использование Button в TodoForm
-
Урок 246.
00:02:59
Отображение текста с количеством завершенных задач
-
Урок 247.
00:04:28
Подведение итогов по созданию второй версии Todo App
-
Урок 248.
00:09:42
Обзор React Router
-
Урок 249.
00:08:44
Что такое URL
-
Урок 250.
00:04:50
Методы HTTP
-
Урок 251.
00:09:50
Обзор навигации на моём сайте
-
Урок 252.
00:03:20
Обзор документации по React Router
-
Урок 253.
00:03:47
Инсталяция пакета react-router-dom
-
Урок 254.
00:10:04
Использование BrowserRouter
-
Урок 255.
00:05:09
Использование компонентов Route и Routes
-
Урок 256.
00:01:06
Добавление маршрутов about и contacts
-
Урок 257.
00:02:11
Маршрут по умолчанию
-
Урок 258.
00:05:41
Создание компонентов с помощью React Snippets
-
Урок 259.
00:03:29
Свойства компонентов Routes и Route
-
Урок 260.
00:05:46
Добавление ссылок на другие страницы
-
Урок 261.
00:04:44
Создание компонента Menu
-
Урок 262.
00:04:20
Вложенные маршруты и компонент Outlet
-
Урок 263.
00:02:39
Создание компонента с общей разметкой
-
Урок 264.
00:02:28
Маршруты со свойством index
-
Урок 265.
00:06:11
Итоги по роутингу и относительные пути
-
Урок 266.
00:04:15
Компонент NavLink и класс active
-
Урок 267.
00:04:31
Использование className для NavLink
-
Урок 268.
00:03:48
Использование style для NavLink
-
Урок 269.
00:03:16
Создание данных для курсов
-
Урок 270.
00:03:01
ЗАДАНИЕ - Создание страниц Courses и SingleCourse с навигацией
-
Урок 271.
00:06:10
РЕШЕНИЕ - Создание страниц Courses и SingleCourse
-
Урок 272.
00:09:39
РЕШЕНИЕ - Добавление ссылок на отдельные курсы
-
Урок 273.
00:03:29
РЕШЕНИЕ - Использование параметров в маршрутах и хук useParams
-
Урок 274.
00:09:34
РЕШЕНИЕ - Добавление информации на странице курса
-
Урок 275.
00:01:39
РЕШЕНИЕ - Подведение итогов
-
Урок 276.
00:03:59
Отображение компонента NotFound если курс не найден
-
Урок 277.
00:10:11
Перенаправление с помощью хука useNavigate
-
Урок 278.
00:05:12
Объект location и хук useLocation
-
Урок 279.
00:01:52
ЗАДАНИЕ - Сортировка курсов на основании строки запроса
-
Урок 280.
00:08:32
РЕШЕНИЕ - Сортировка курсов на основании строки запроса
-
Урок 281.
00:10:14
РЕШЕНИЕ - Функция для сортировки курсов
-
Урок 282.
00:02:37
РЕШЕНИЕ - Проверка сортировки при наличии строки запроса
-
Урок 283.
00:08:28
РЕШЕНИЕ - Перенаправление на страницу курсов
-
Урок 284.
00:03:08
РЕШЕНИЕ - Перенаправление при отсутствии параметра sort
-
Урок 285.
00:03:17
Подведение итогов по задаче с сортировкой курсов
-
Урок 286.
00:06:45
Введение в Context API
-
Урок 287.
00:07:33
Создание контекста
-
Урок 288.
00:05:54
Что такое props render в React
-
Урок 289.
00:01:34
Итоги по Context Provider и Consumer
-
Урок 290.
00:04:01
Использование хука useContext
-
Урок 291.
00:05:28
Как React находит Context Provider
-
Урок 292.
00:05:28
Контекст в виде объекта
-
Урок 293.
00:05:06
Изменение контекста
-
Урок 294.
00:02:06
Структура контекста
-
Урок 295.
00:07:46
Подведение итогов по Context API
-
Урок 296.
00:10:52
Введение в Redux и его составляющие части
-
Урок 297.
00:02:19
Как происходит обновление состояния в Redux
-
Урок 298.
00:04:38
Чистая функция (pure function)
-
Урок 299.
00:06:43
Принцип работы Redux и его преимущества
-
Урок 300.
00:14:08
Пример Redux state, reducer и action
-
Урок 301.
00:15:39
Метод массивов reduce
-
Урок 302.
00:11:43
Принцип работы Redux
-
Урок 303.
00:04:48
Создание функции reducer
-
Урок 304.
00:06:35
Вызов функции reducer
-
Урок 305.
00:00:56
ЗАДАЧА - Удаление всех имен из состояния
-
Урок 306.
00:02:27
РЕШЕНИЕ - Удаление всех имен из состояния
-
Урок 307.
00:06:53
Замена if на switch и итоги по reducer
-
Урок 308.
00:03:37
Создание JavaScript проекта для использования Redux
-
Урок 309.
00:11:27
Создание Redux store с помощью Redux Toolkit
-
Урок 310.
00:10:57
Отправка действий в Redux store
-
Урок 311.
00:04:23
Установка и знакомство с Redux DevTools
-
Урок 312.
00:14:50
Взаимодействие с Redux store на веб странице
-
Урок 313.
00:03:23
Добавление кнопки для очистки состояния
-
Урок 314.
00:11:24
Добавление actionCreators и actionTypes
-
Урок 315.
00:04:16
Подведение итогов по проекту JavaScript и Redux
-
Урок 316.
00:05:17
Обзор финальной версии Book Library App
-
Урок 317.
00:09:28
Создание проекта Book Library App и инициализация Git
-
Урок 318.
00:06:51
Запуск базового приложения и первый Git коммит
-
Урок 319.
00:09:34
Подготовка компонентов с CSS стилями
-
Урок 320.
00:11:12
Создание формы для добавления книги
-
Урок 321.
00:06:21
Проверка работы формы и коммит изменений в Git
-
Урок 322.
00:07:22
Создание Redux store
-
Урок 323.
00:14:06
Создание reducer для массива книг
-
Урок 324.
00:07:33
Отправка действий для создания книг с помощью хука useDispatch
-
Урок 325.
00:10:43
Получение данных из Redux store с помощью хука useSelector
-
Урок 326.
00:06:38
Генерация уникальных id для книг
-
Урок 327.
00:01:52
ЗАДАЧА - Удаление книги из списка
-
Урок 328.
00:13:02
РЕШЕНИЕ - Удаление книги из списка
-
Урок 329.
00:11:29
Добавление массива книг для случайного выбора
-
Урок 330.
00:14:11
Иконки и reducer для добавления книги в избранные
-
Урок 331.
00:07:42
Отправка действия toggleFavorite в компоненте
-
Урок 332.
00:07:15
Перенос создания книги в отдельную функцию
-
Урок 333.
00:04:26
Добавление поля ввода для фильтра по заголовку книги
-
Урок 334.
00:11:14
Создание reducer для фильтров
-
Урок 335.
00:05:35
Откуда берутся действия в Redux slice
-
Урок 336.
00:05:04
Экспорт функции для создания действий в filterSlice
-
Урок 337.
00:07:54
Отправка действия для поиска по названию книги
-
Урок 338.
00:06:23
Синхронизация поля ввода фильтра по названию книги с состоянием
-
Урок 339.
00:10:05
Мутирование state при использовании slices
-
Урок 340.
00:09:26
Применение фильтра по названию в списке книг
-
Урок 341.
00:10:05
Добавление кнопки для очистки фильтров
-
Урок 342.
00:01:35
ЗАДАЧА - Фильтр по имени автора
-
Урок 343.
00:16:05
РЕШЕНИЕ - Фильтр по имени автора
-
Урок 344.
00:16:54
Добавление фильтра для избранных книг
-
Урок 345.
00:11:48
Подсветка частей названия и автора при наличии фильтров
-
Урок 346.
00:02:23
Перемещение между Git коммитами
-
Урок 347.
00:01:18
ЗАДАЧА - Рефакторинг reducer для книг с использованием createSlice
-
Урок 348.
00:18:55
РЕШЕНИЕ - Рефакторинг reducer для книг с использованием createSlice
-
Урок 349.
00:02:10
Начало создания сервиса API
-
Урок 350.
00:10:44
Сохранение коммита сделанного в состоянии Detached HEAD с помощью слияния ветвеи
-
Урок 351.
00:08:34
Создание приложения API
-
Урок 352.
00:13:02
Получение книги через API в фронтенд приложении
-
Урок 353.
00:04:26
Отображение источника добавления книги
-
Урок 354.
00:11:54
Что такое thunk function
-
Урок 355.
00:04:01
Интеграция thunk function в Redux slice
-
Урок 356.
00:06:16
Использование createAsyncThunk
-
Урок 357.
00:10:34
Реакция на действия при использовании createAsyncThunk
-
Урок 358.
00:08:58
Реагирование на действие в случае отклонения Promise
-
Урок 359.
00:06:48
Создание errorSlice
-
Урок 360.
00:08:54
Создание компонента Error для отображения ошибок
-
Урок 361.
00:06:44
Отображение ошибки если поля названия книги и автора пустые
-
Урок 362.
00:15:53
Отображение ошибки в случае неуспешного добавления книги через API
-
Урок 363.
00:02:56
Использование объекта вместо функции как значения для extraReducers
-
Урок 364.
00:08:30
Добавление отложенного ответа от API сервера
-
Урок 365.
00:16:34
Отключение кнопки и изменение текста в процессе загрузки данных
-
Урок 366.
00:16:49
Перенос isLoading в Redux store
-
Урок 367.
00:14:39
Использование isLoading из Redux store
-
Урок 368.
00:03:13
Подведение итогов по приложению React с Redux
-
Урок 369.
00:04:10
Введение в HTML
-
Урок 370.
00:10:26
Что такое HTML и как клиенты взаимодействуют с серверами
-
Урок 371.
00:05:22
Теги HTML
-
Урок 372.
00:03:46
Иерархическая структура HTML
-
Урок 373.
00:06:15
Закрывающие HTML теги и атрибуты тегов
-
Урок 374.
00:06:17
Установка програм для курса по HTML
-
Урок 375.
00:05:16
Создание HTML файла
-
Урок 376.
00:05:26
Открытие HTML файла в веб браузере
-
Урок 377.
00:10:25
Инструменты разработчика в Google Chrome
-
Урок 378.
00:00:00
Добавление изображений, заголовков, параграфов и кнопок
-
Урок 379.
00:11:06
Подключение библиотеки стилей Bootstrap
-
Урок 380.
00:16:57
Использование стилей Bootstrap
-
Урок 381.
00:09:33
Добавление внешних ссылок
-
Урок 382.
00:09:11
Создание собственного стиля CSS
-
Урок 383.
00:12:27
Добавление навигационного меню сверху HTML страницы
-
Урок 384.
00:06:49
Добавление собственного логотипа для веб сайта
-
Урок 385.
00:11:50
Создание второй HTML страницы для веб сайта
-
Урок 386.
00:16:31
Адаптивность отображения карточек
-
Урок 387.
00:07:35
Изменение стилей Bootstrap
-
Урок 388.
00:04:18
Добавление favicon для веб сайта
-
Урок 389.
00:03:44
Резюме курса по HTML
Когда будет обновление курса??
С Уважением!