React 19. Разработка веб-приложений на JavaScript

React 19. Разработка веб-приложений на JavaScript

React 19. Разработка веб-приложений на JavaScript

Автор: Владимир Александрович Дронов
Дата выхода: 2025
Издательство: «БХВ-Петербург»
Количество страниц: 457
Размер файла: 41,9 МБ
Тип файла: PDF
Добавил: codelibs
 Проверить на вирусы  Дополнительные материалы 

Предисловие ............................................................................................................................. 13
Веб-сайты третьего поколения. Фронтенды и бэкенды .................................................................. 13
Проблемы с программированием фронтендов ............................................................................... 14
Клиентские веб-фреймворки решат все проблемы ........................................................................ 14
Веб-фреймворк React - почему именно он? ................................................................................... 15
Что содержится в этой книге? ...................................................................................................... 15
Что нового? ................................................................................................................................ 16
Необходимые знания и навыки ..................................................................................................... 17
Использованное ПО ..................................................................................................................... 17
Типографские соглашения ............................................................................................................ 17
ЧАСТЬ 1. СОЗДАНИЕ ПРОСТЕЙШЕГО RЕАСТ-ПРИЛОЖЕНИЯ ............................................................... 21
Глава 1. Список планируемых дел 1.0 ............................................................................................ 22
1.1. Создание проекта todos .......................................................................................................... 22
Теория ......................................................................................................................................... 22
Практика ...................................................................................................................................... 22
1.2. Запуск и остановка проекта ..................................................................................................... 24
1.3. Введение в компоненты. JSX .................................................................................................... 25
Теория .......................................................................................................................................... 25
Практика ...................................................................................................................................... 26
1.4. Вывод компонентов. Пропы и спуск данных .............................................................................. 31
Теория .......................................................................................................................................... 31
Практика ...................................................................................................................................... 32
1.5. Подъем данных и обработка событий ....................................................................................... 36
Теория .......................................................................................................................................... 36
Практика ...................................................................................................................................... 36
1.6. Состояния компонента. Реактивные данные .............................................................................. 38
Теория .......................................................................................................................................... 38
Практика ...................................................................................................................................... 38
1.7. Работа с неб-формами ........................................................................................................... .41
1.8. Навигация. Библиотека React Router. Маршрутизатор, маршрут и выпуск .................................... .46
Теория .......................................................................................................................................... 46
Практика ......................................................... : ............................................................................ 46
1.9. Загрузчики и воздействия React Router. Перенаправление .......................................................... 53
Теория .......................................................................................................................................... 53
Практика ...................................................................................................................................... 54
1.10. Параметризованные маршруты ........................................................................................... 58
Теория .......................................................................................................................................... 58
Практика ...................................................................................................................................... 5 8
1.11. Вывод сообщения об ошибке 404 ....................................................................................... 64
Глава 2. Список планируемых дел 2.0 ......................................................................................... 67
2.1. Создание базы данных Google Firebase и подготовка приложения к работе с ней ...................... 67
2.2. Регистрация новых посетителей ............................................................................................ 77
2.3. Вход и выход ........................................................................................................................... 84
2.4. Хранение данных в базе Google Firebase ................................................................................... 87
Теория .......................................................................................................................................... 87
Практика ...................................................................................................................................... 88
2.5. Разграничение доступа ........................................................................................................... 94
2.6. Валидация и вывод сообщений об ошибках в стиле React ........................................................... 96
Теория .......................................................................................................................................... 96
Практика ...................................................................................................................................... 96
ЧАСТЬ 11. БАЗОВЫЕ ИНСТРУМЕНТЫ ........................................................................................... 101
Глава 3. Проект Rеасt-приложения ............................................................................................. 102
3.1. Создание Rеасt-проекта ....................................................................................................... 102
3.2. Структура Rеасt-проекта ...................................................................................................... 103
3.3. Базовые файлы проекта ........................................................................................................ 106
3.3 .1. Веб-страница приложения ............................................................................................. 106
3.3.2. Стартовый модуль .......................................................................................................... 108
3.3.3. Таблица стилей приложения .......................................................................................... 109
3.3.3.1. Сброс стилей .......................................................................................................... 109
3.3.3.2. Использование таблиц стилей SASS .......................................................................... 110
3.4. Запуск и остановка выполнения проекта ............................................................................ 110
3.4.1. Отслеживание кода ......................................................................................................... 112
3.4.2. Использование HTTPS при отладке .............................................................................. 112
3.5. Выявление ошибок ............................................................................................................... 113
3.5.1. Ошибки в программном коде ........................................................................................ 113
3.5.2. Ошибки времени выполнения ....................................................................................... 114
3.6. Настройка проекта. Переменные окружения ..................................................................... 114
3.6.1. Задание переменных окружения. Файлы окружения .................................................. 115
3.6.2. Использование переменных окружения в программном коде .................................... 116
3.6.3. Переменные окружения, поддерживаемые React ........................................................ 116
3.6.4. Создание своих переменных окружения ...................................................................... 119
Глава 4. Компоненты ................................................................................................. 120
4.1. Реализация компонентов ...................................................................................................... 120
4.1.1. Жизненный цикл компонента. Хуки ............................................................................. 121
4.1.2. Пропы компонента ......................................................................................................... 122
4.1.3. Рендеринг компонента ................................................................................................... 124
4.1.3.1. Объектное описание содержимого компонента. Фрагменты ................................. 124
4.1.3.2. Разделение кода, выполняющего рендеринг ....................................................... 126
4.1.3.3. Предотвращение рендеринга ................................................................................ 127
4.1.3.4. Рендеринг произвольного содержимого ............................................................. 127
4.1.3.4.1. Рендеринг содержимого в одном месте компонента-родителя ............................ 127
4.1.3.4.2. Рендеринг содержимого в разных местах компонента-родителя.
Слоты ............................................................................................................................... 128
4.1.3.4.3. Инструменты для работы с коллекцией потомков ............................................. 129
4.1.4. Состояния компонента ................................................................................................... 131
4.1.4.1. Состояние компонента: момент первый .............................................................. 132
4.1.4.2. Состояние компонента: момент второй ............................................................... 133
4.1.4.3. Как состояния связываются с компонентами? .................................................... 134
4.2. Дополнительные инструменты для написания компонентов ........................................... 135
4.2.1. Управление элементами неб-страниц. Рефы ................................................................ 136
4.2.1.1. Объектные рефы .................................................................................................... 136
4.2.1.2. Функциональные рефы ......................................................................................... 137
4.2.2. Порталы ........................................................................................................................... 139
4.2.3. Принудительное обновление компонента .................................................................... 141
4.2.4. Генерирование уникальных якорей .............................................................................. 141
4.3. Повышение производительности компонентов. Мемоизация .......................................... 142
4.3.1. Мемоизация компонентов .............................................................................................. 142
4.3.2. Мемоизация результатов вычислений .......................................................................... 144
Глава 5. Язык JSX ................................................................................................................ 146
5.1. Основы JSX ........................................................................................................................... 146
5.1.1. Синтаксис JSX ................................................................................................................ 146
5.1.1.1. Указание типа выводимого элемента во время выполнения ............................................. 149
5.1.2. Вывод значений .............................................................................................................. 150
5.1.3. Условный вывод ............................................................................................................. 151
5.1.4. Вывод последовательностей .......................................................................................... 152
5.1.4.1. Ключи ..................................................................................................................... 152
5.2. Использование в компонентах внедренных элементов ..................................................... 153
5.3. Оформление компонентов ................................................................................................... 154
5.3.1. Таблицы стилей компонентов ....................................................................................... 154
5.3.1.1. СSS-модули ............................................................................................................ 155
5.3.2. Задание встроенных стилей CSS ................................................................................... 156
Глава 6. Обработка событий .............................................................................................. 157
6.1. Написание обработчиков событий ...................................................................................... 157
6.2. Привязка обработчиков к событиям ................................................................................... 158
6.2.1. Передача параметров обработчикам событий ............................................................. 159
6.3. События, поддерживаемые React. Класс события React ................................................... 159
6.4. Фазы событий в React ........................................................................................................... 161
6.4.1. Обработка событий на фазе погружения ...................................................................... 162
Глава 7. Взаимодействие между компонентами ...................................................................... 164
7.1. Передача данных .................................................................................................................. 164
7.1.1. Спуск данных .................................................................................................................. 164
7.1.1.1. Спуск данных посредством пропов. Простой и сквозной спуск .................................. 164
7.1.1.2. Спуск данных посредством контекстов .................................................................... 166
7.1.2. Подъем данных ............................................................................................................... 170
7.1.2.1. Мемоизация функций, передаваемых потомкам ........................................................ 171
7.2. Передача функциональности. Рендер-пропы ..................................................................... 172
7.3. Передача управления ............................................................................................................ 174
7.3.1. Перенаправление рефов ................................................................................................. 174
7.3.2. Использование промежуточных обработчиков ........................................................... 175
Глава 8. Работа с неб-формами и элементами управления .................................................... 177
8.1. Работа с элементами управления ........................................................................................ 177
8.2. Работа с неб-формами .......................................................................................................... 179
8.2.1. Обработка события submit веб-формы .......................................................................... 179
8.2.2. Использование воздействий React ................................................................................ 180
8.2.2.1. Упрощенные воздействия React ........................................................................... 180
8.2.2.1.1. Получение сведений о веб-форме .................................................................. 182
8.2.2.2. Полнофункциональные воздействия React ......................................................... 183
8.3. Валидация заносимых данных ............................................................................................. 185
Глава 9. Работа с внешними API .................................................................................... 187
9.1. Использование эффектов React ........................................................................................... 187
9.1.1. Эффекты, вызываемые перед рендерингом компонента ............................................ 187
9.1.2. Эффекты, вызываемые после рендеринга компонента ............................................... 190
9.1.3. Эффекты, служащие для взаимодействия с внешним хранилищем данных ................. 191
9.2. Поддержка асинхронных операций ..................................................................................... 192
9.2.1. Приостановщик ............................................................................................................... 192
9.2.2. Низкоприоритетные обновления компонента .............................................................. 194
9.2.2.1. Упрощенные низкоприоритетные обновления .......................................................... 195
9.2.2.2. Полнофункциональные низкоприоритетные обновления ........................................... 197
9.2.3. Величины с отложенным изменением .......................................................................... 198
9.2.4. Оптимистичное обновление компонентов ................................................................... 199
Глава 10. Компоненты высшего порядка и собственные хуки ............................................... 202
10.1. Компоненты высшего порядка .......................................................................................... 202
10.1.1. Компонент высшего порядка, пример 1 ..................................................................... 202
10.1.2. Компонент высшего порядка, пример 2 ..................................................................... 204
10.2. Написание собственных хуков .......................................................................................... 207
ЧАСТЬ 111. ДОПОЛНИТЕЛЬНЫЕ БИБЛИОТЕКИ
И РАСШИРЕННЫЕ ИНСТРУМЕНТЫ .......................................................................................... 209
Глава 11. Библиотека React Router: навигация, раздел 1 ........................................................ 210
11.1. Основные принципы и понятия React Router ................................................................... 210
11.2. Маршруты, списки маршрутов и маршрутизаторы ......................................................... 212
11.2.1. Маршрут ........................................................................................................................ 212
11.2.1.1. Написание шаблонных путей. Запись URL-параметров .............................................. 213
11.2.2. Список маршрутов ........................................................................................................ 214
11.2 .2 .1. Создание списка маршрутов ............................................................................... 214
11.2.2.2. Две разновидности списка маршрутов .............................................................. 214
11.2.2.2.1. Простой список маршрутов .......................................................................... 214
11.2.2.2.2. Иерархический список маршрутов .............................................................. 215
11.2.3. Выпуск ........................................................................................................................... 218
11.2.4. Маршрутизаторы .......................................................................................................... 218
11.2.4.1. Маршрутизатор Browser Router ......................................................................... 218
11.2.4.2. Маршрутизатор Hash Router ............................................................................... 219
11.2.5. Провайдер маршрутизации .......................................................................................... 220
11.3. Навигация ............................................................................................................................ 220
11.3.1. Гиперссылки ................................................................................................................. 221
11.3.1.1. Упрощенные гиперссылки .................................................................................. 221
11.3.1.1.1. Написание путей в гиперссылках ................................................................ 222
11.3.1.2. Полнофункциональные гиперссылки ................................................................ 223
11.3.2. Перенаправление .......................................................................................................... 225
11.4. Получение сведений о текущем интернет-адресе ............................................................ 226
11.4.1. Получение значений URL-параметров ....................................................................... 226
11.4.2. Получение и изменение значений GЕТ-параметров .................................................. 227
11.4.3. Получение текущего местоположения ....................................................................... 228
11.5. Дополнительные программные инструменты React Router ............................................ 229
11.5.1. Разметочные маршруты ............................................................................................... 229
11.5.2. Обработка события beforeunload окна ........................................................................ 229
11.5.3. Блокировка ухода ......................................................................................................... 230
11.5.4. Проверка пути ............................................................................................................... 232
11.5.5. Задание маршрутов в виде простых объектов ............................................................ 233
Глава 12. Библиотека React Router: навигация, раздел 2 ...................................................... 235
12.1. Загрузка и отправка данных ............................................................................................... 235
12.1.1. Загрузка данных. Загрузчики ....................................................................................... 235
12.1.1.1. Написание загрузчиков ....................................................................................... 235
12.1.1.1.1. Перенаправление в загрузчиках ................................................................... 236
12.1.1.2. Указание загрузчика в маршруте ....................................................................... 237
12.1.1.3. Получение результата, возвращенного загрузчиком ........................................ 237
12.1.2. Отправка данных. Воздействия React Router ...................................................... 238
12.1.2.1. Написание воздействий React Router .............................................................. 238
12.1.2.2. Указание воздействия React Router в маршруте ............................................... 239
12.1.2.3. Инициирование запуска воздействия React Router ........................................... 239
12.1.2.3.1. Запуск воздействия из веб-формы ............................................................... 239
12.1.2.3 .2. Программный запуск воздействия ............................................................... 241
12.1.2.4. Получение результата, возвращенного воздействием React Router ..................... 243
12.1.3. Фетчеры ........................................................................................................... 243
12.1.3.1. Создание фетчеров ........................................................................................ 243
12.1.3.2. Загрузка данных с помощью фетчеров ............................................................. 244
12.1.3.3. Отправка данных с помощью фетчера .............................................................. 245
12.1.3.3.1. Отправка данных посредством веб-формы фетчера ........................................ 245
12.1.3.3.2. Упрощенный способ отправки данных фетчером из веб-формы ........................ 246
12.1.3.3.3. Программная отправка данных фетчером ........................................................ 246
12.1.3.4. Доступ к произвольному фетчеру ...................................................................... 247
12.1.3.5. Получение сведений обо всех созданных в приложении фетчерах ....................... 248
12.2. Поддержка асинхронных операций в React Router .......................................................... 248
12.3. Получение сведений о совпавших маршрутах и самом маршрутизаторе ..................... 251
12.3.1. Получение сведений о совпавших маршрутах ........................................................... 251
12.3.2. Получение сведений о самом маршрутизаторе .......................................................... 252
12.4. Передача произвольного значения целевому компоненту через маршрут .................... 253
12.5. Сохранение позиции прокрутки ........................................................................................ 255
Глава 13. Преобразователи данных React .................................................................................. 257
13.1. Влияния ............................................................................................................................... 257
13.2. Создание преобразователя React ....................................................................................... 258
13.2.1. Написание преобразователя React ............................................................................... 258
13.2.2. Регистрация преобразователя React ............................................................................ 259
13.3. Работа с преобразователями React .................................................................................... 260
Глава 14. Библиотека Redux: централизованное хранение состояния,
раздел 1 .................................................................................................................................... 262
14.1. Библиотека Redux ............................................................................................................... 262
14.1.1. Влияния ......................................................................................................................... 263
14.1.2. Преобразователь Redux ................................................................................................ 264
14.1.3. Хранилище .................................................................................................................... 265
14.1.4. Селекторы ..................................................................................................................... 266
14.1.5. Получение данных из хранилища ................................................................................... 267
14.1.6. Отправка влияний ......................................................................................................... 267
14.1.7. Регистрация слушателей .............................................................................................. 268
14.1.8. Создатели влияний ....................................................................................................... 269
14.1.9. Отправители влияний ................................................................................................... 270
14.1.10. Специфические случаи применения Redux .............................................................. 271
14.1.10.1. Составные преобразователи ............................................................................. 271
14.1.10.2. Замена преобразователя .................................................................................... 273
14.1.10.3. Мемоизация селекторов. Библиотека Reselect ................................................ 273
14.2. Выполнение действий с данными из внешних источников ............................................ 275
14.2.1. Использование посредников Redux ............................................................................ 275
14.2.2. Использование переходников. Библиотека Redux Thunk .......................................... 280
Глава 15. Библиотека Redux: централизованное хранение состояния,
раздел 2 .......................................................................................................................... 282
15.1. Связывание Rеасt-компонентов с хранилищем Redux. Библиотека React Redux ......... 282
15.1.1. Предоставление хранилища компонентам. Провайдер хранилища ......................... 282
15.1.2. Доступ к хранилищу посредством функции cvnnect() ........... , ................................... 283
15.1.2.1. Функция cvnnect(), параметр № 1: получатель данных .................................... 284
15.1.2.2. Функция connect(), параметр № 2: брокер влияний .......................................... 285
15.1.2.3. Функция connect(), параметр № 3: составитель пропов ................................... 287
15.1.2.4. Функция cvnnect(), параметр № 4: настройки ................................................... 288
15.1.3. Доступ к хранилищу посредством хуков .................................................................... 290
15.1.3.1. Получение данных из хранилища ...................................................................... 290
15.1.3.2. Управление данными в хранилище .................................................................... 292
15.1.3.3. Получение доступа к самому хранилищу .......................................................... 292
15.1.3.4. Работа с хранилищем, предоставляемым через пользовательский
контекст ............................................................................................................................... 293
15.2. Упрощение создания хранилища. Библиотека Redux Toolkit ......................................... 294
15.2.1. Упрощение формирования создателей влияний ........................................................ 294
15.2.2. Упрощение создания преобразователя ....................................................................... 295
15.2.3. Упрощение создания хранилища ................................................................................ 299
15.2.4. Упрощение создания преобразователей срезов ......................................................... 301
15.2.4.1. Допустимые и недопустимые типы данных во влияниях .......................................... 305
15.2.5. Упрощение создания переходников ............................................................................ 305
15.2.5.1. Создание переходников ...................................................................................... 305
15.2.5.2. Создание обработчиков операций ...................................................................... 308
15.2.5.3. Запуск переходников, получение результата и обработка ошибок ........................ 311
15.2.5.4. Прерывание выполнения операций .................................................................... 312
15.2.6. Создание мемоизированных селекторов .................................................................... 312
Глава 16. Библиотека Formik: создание веб-форм ................................................................. 313
16.1. Быстрое создание веб-форм ............................................................................................... 313
16.1.1. Компонент Formik: построитель веб-форм ................................................................ 313
16.1.2. Компонент Form: веб-форма ....................................................................................... 315
16.1.3. Компонент Field: элемент управления ........................................................................ 315
16.1.3.1. Вывод флажков, переключателей, списков и полей выбора файлов .......................... 316
16.1.4. Обработка занесенных данных .................................................................................... 318
16.1.5. Валидация данных ........................................................................................................ 319
16.1.6. Ввод данных в массивы и объекты ............................................................................. 322
16.2. Создание более сложных веб-форм .................................................................................. 323
16.3. Создание своих элементов управления ............................................................................. 328
16.4. Сброс веб-форм ................................................................................................................... 329
16.5. Массивы элементов управления ........................................................................................ 331
Глава 17. Библиотека Yup: валидация данных ........................................................................... 334
17.1. Написание правил валидации. Схемы ............................................................................... 334
17.1.1. Правила, применимые ко всем типам ......................................................................... 336
17.1.2. Правила валидации строк ............................................................................................ 337
17.1.3. Правила валидации чисел ............................................................................................ 339
17.1.4. Правила валидации логических величин .................................................................... 339
17.1.5. Правила валидации временных отметок ..................................................................... 340
17.1.6. Правила валидации массивов ...................................................................................... 340
17.1.7. Правила валидации объектов ....................................................................................... 341
17.1.8. Написание своих дополнительных условий и преобразований ....................................... 343
17.2. Валидация данных ..................................................................................................... 344
17.2.1. Использование только инструментов Yup .................................................................. 344
17.2.2. Использование Yup совместно с Fonnik ..................................................................... 346
Глава 18. Библиотека ReactFire: интеграция с Google Firebase ............................................... 347
18.1. Первый уровень: провайдер сервер но го веб-приложения .............................................. 347
18.2. Второй уровень: провайдеры базы данных и подсистемы разграничения доступа ......... 348
18.3. Третий уровень: компоненты-потребители ...................................................................... 349
18.3.1. Получение сведений о текущем посетителе ............................................................... 349
18.3.2. Извлечение данных из базы ......................................................................................... 351
Глава 19. Библиотека React Awesome Reveal: анимация ...................................................... 353
19.1. Анимационные эффекты .................................................................................................... 353
19.1.1. Компоненты, реализующие анимационные эффекты ............................................... 353
19.1.2. Общие параметры анимационных эффектов ............................................................. 355
19.1.3. Анимирование нескольких элементов (компонентов) .............................................. 357
19.1.3.1. Анимирование символов текста ......................................................................... 358
19.2. Специальные эффекты .............................................................................................. 358
Глава 20. Прочие полезные инструменты и библиотеки ........................................................ 360
20.1. Библиотека React Window: вывод больших перечней ..................................................... 360
20.1.1. Компонент FixedSizeList: вывод списков с пунктами одинакового размера ........... 360
20.1.2. Компонент VariaЬleSizeList: вывод списков с пунктами разного размера ............... 364
20.1.3. Компонент FixedSizeGrid: вывод таблиц с ячейками одинаковых размеров .......... 365
20.1.4. Компонент VariableSizeGrid: вывод таблиц с ячейками разных размеров .............. 369
20.2. Работа с метатегами .................................................................................................... 371
20.2.1. Указание названия неб-страницы (тег <title> ) ........................................................... 371
20.2.2. Указание метаданных (тег <meta>) ............................................................................ 372
20.2.3. Привязка к неб-странице сторонних файлов (тег <link>) .............................................. 372
20.2.4. Задание внутренних таблиц стилей ............................................................................. 374
20.2.5. Задание сторонних веб-сценариев ............................................................................... 375
20.3. Предварительная загрузка интернет-ресурсов ................................................................. 375
Глава 21. Обработка ошибок ................................................................................................. 379
21.1. Обработка ошибок средствами JavaScript ........................................................................ 379
21.2. Обработка ошибок средствами React Router .................................................................... 380
21.2.1. Базовые средства обработки ошибок .......................................................................... 380
21.2.2. Обработка НТТР-ошибок ............................................................................................ 382
21.2.3. Обработка ошибок в приостановщиках Await ............................................................ 383
Глава 22. Разделение кода и загрузка по запросу ................................................................ 384
22.1. Загрузка по запросу средствами JavaScript ...................................................................... 384
22.2. Загрузка по запросу средствами React .............................................................................. 385
22.3. Загрузка по запросу средствами React Router .................................................................. 386
Глава 23. Расширенные средства отладки ............................................................................ 388
23.1. Строгий режим .................................................................................................................... 388
23.2. Настройка отладчика, встроенного в Visua\ Studio Code ................................................ 389
23.3. Расширение React Developer Tools .................................................................................... 390
23.3.1. Сведения о компонентах .............................................................................................. 390
23.3.2. Профилировщик ........................................................................................................... 395
23.3.3. Настройка расширения React Developer Tools ........................................................... 399
23.3.4. Упрощение отладки собственных хуков ................................................................... .402
23.4. Расширение Redux DevTools ............................................................................................. 403
23.4.1. Подготовка проекта к работе с Redux DevTools ....................................................... .403
23.4.2. Работа с Redux DevTools .............................................................................................. 404
23.4.3. Настройка расширения Redux DevTools .................................................................... .409
23.5. Получение метрик Web Vitals ........................................................................................... .409
23.6. Встроенный профилировщик React .................................................................................. 409
Глава 24. Публикация веб-приложения ................................................................................ 412
24.1. Подготовка неб-приложения к публикации ..................................................................... .412
24.2. Создание эксплуатационной редакции веб-приложения ................................................ .413
24.3. Публикация неб-приложения ............................................................................................. 414
24.3.1. Публикация на мощностях разработчика .................................................................. .414
24.3.1.1. Публикация с помощью Apache НТТР Server ..................................................... .414
24.3.1.2. Публикация с помощью веб-сервера serve ....................................................... .415
24.3.2. Публикация на сторонних мощностях ........................................................................ 416
24.4. Выброс Rеасt-проекта ....................................................................................................... .416
Заключение ................................................................................................................... 419
Приложение 1. Компоненты-классы ....................................................................................... 421
П 1.1. Введение в компоненты-классы ...................................................................................... .421
П 1.2. Реализация компонентов-классов .................................................................................... .422
П 1.2.1. Объявление класса компонента ................................................................................. .422
П 1.2.2. Пропы компонента-класса ......................................................................................... .422
П 1.2.3. Состояние компонента-класса ................................................................................... .423
П 1.2.4. Написание обработчиков событий в компоненте-классе ........................................... .425
П 1.3. Дополнительные инструменты для написания компонентов-классов .............................. .427
П 1.3 .1. Рефы в компоненте-классе ................................................................................... .427
П 1.3.2. Получение данных из контекста React ..................................................................... .428
П 1.3 .3. Волшебные методы компонента-класса .................................................................. .429
П 1.3.4. Принудительное обновление компонента-класса ..................................................... .433
П 1.4. Средства для обработки ошибок в компонентах-классах. Перехватчики ........................ .433
П 1.5. Повышение производительности компонентов-классов.
Лишние обновления и их устранение .................................................................................. .435
П 1.5.1. Явное подавление лишних обновлений .................................................................... .436
П 1.5.2. Создание чистых компонентов .................................................................................. .437
П 1.6. Отладка компонентов-классов ..................................................................................... .438
Приложение 2. У старевший API библиотеки React Router ....................................................... 439
П 2.1. Базовые инструменты маршрутизации ......................................................................... .439
П 2.2. Создание иерархического списка маршрутов средствами устаревшего API ...................... .441
Приложение 3. Описание файлового архива .......................................................................... 442
Предметный указатель ......................................................................................................... 443

 Книга посвящена программированию веб-приложений на языке JavaScript с применением популярного веб-фреймворка React. Дается вводный курс, наглядно, по шагам описывающий разработку несложного веб-приложения — списка запланированных дел. Описываются базовые инструменты: создание и настройка React-проекта, написание компонентов, язык JSX, передача данных между компонентами и создание веб-форм. Рассматриваются полезные дополнительные библиотеки: React Router (навигация), Redux, React Redux и Redux Toolkit (централизованное хранилище данных), Formik (быстрая разработка веб-форм), Yup (валидация), React Reveal (анимационные эффекты) и др. Рассказывается о разделении кода, обработке ошибок, средствах отладки, публикации готового веб-приложения и рендеринге на стороне сервера.
 Для программистов

 Книга посвящена разработке веб-приложений на языке JavaScript с применением популярного клиентского веб-фреймворка React 19. В ней учтены все нововведения, появившиеся в React 19 и  новых версиях сопутствующих библиотек.

 Дается вводный курс для новичков в React, содержащий пошаговое описание разработки несложного веб-приложения — списка планируемых дел.

 Описываются базовые инструменты и приемы React-программирования: создание и настройка проекта React-приложения, написание компонентов, обработка событий, передача данных между компонентами, программирование веб-форм и компоненты высшего порядка.

 Рассматриваются дополнительные библиотеки, которые пригодятся любому React-разработчику: React Router (навигация), Redux (централизованное хранилище данных), React Redux и Redux Toolkit (упрощение разработки и использования централизованного хранилища), Formik (быстрая разработка веб-форм), Yup (валидация введенных данных), React Awesome Reveal (создание анимационных эффектов) и др.

 Далее ведется рассказ о работе с метаданными, разделении кода, обработке ошибок, отладочных инструментах (включая расширения веб-обозревателя React Developer Tools и Redux DevTools), публикации готового веб-приложения с использованием веб-серверов Apache HTTP Server и serve.

  • Новинки React 19 и сопутствующих библиотек

  • Компоненты

  • Работа с бэкендом

  • Веб-формы

  • Навигация

  • Загрузчики и воздействия

  • Фетчеры данных

  • Redux

  • Анимация

  • Работа с метатегами

  • Публикация


Похожее:

Список отзывов:

Нет отзывов к книге.