Предисловие....16
Об этой книге....18
Условные обозначения....19
Использование примеров кода....19
Благодарности....20
От издательства....22
Глава 1. Hello World ....23
Установка....23
Hello React World....24
Так что же сейчас произошло?....26
Метод React.createElement()....28
Синтаксис JSX....30
Установка Babel....31
Привет, мир JSX....32
О транспиляции....33
Далее: настраиваемые компоненты....35
Глава 2. Жизнь компонента....36
Настраиваемый функциональный компонент....36
JSX-версия ....37
Настраиваемый классовый компонент ....38
Какой синтаксис использовать....39
Свойства....40
Свойства в функциональных компонентах ....42
Свойства по умолчанию....43
Состояние....44
Компонент текстовой области....45
Компонент textarea, отслеживающий свое состояние....47
Немного о DOM-событиях ....50
Обработка событий в прежние времена....50
Обработка событий в React....52
Синтаксис обработки событий....53
Сравнение свойств и состояния....55
Свойства в исходном состоянии: антипаттерн....55
Доступ к компоненту извне....56
Методы управления жизненным циклом....58
Примеры управления жизненным циклом: тотальная регистрация....59
Параноидальная защита состояния....62
Пример жизненного цикла: применение дочернего компонента....63
Выигрыш в производительности: предотвращение обновлений компонентов....66
Что случилось с функциональными компонентами....68
Глава 3. Excel: причудливый компонент таблицы....69
Начнем с данных....69
Цикл создания заголовков таблицы....70
Цикл заголовков таблиц, упрощенная версия....72
Отладка для избавления от предупреждения в консоли....75
Добавление содержимого ....76
Типы свойств....79
Можете ли вы улучшить компонент....81
Сортировка....82
Можете ли вы улучшить компонент....85
Сортировка подсказок пользовательского интерфейса....85
Редактирование данных....87
Редактируемая ячейка....88
Поле ввода ячейки....91
Сохранение ....91
Выводы и определение различий в виртуальной DOM....92
Поиск....94
Состояние и пользовательский интерфейс....96
Фильтрация содержимого....99
Обновление метода save()....102
Как усовершенствовать поиск....103
Мгновенное воспроизведение....103
Очистка обработчиков событий....106
Решение задачи очистки ....108
Как усовершенствовать воспроизведение....109
Возможна ли альтернативная реализация....110
Скачивание данных таблицы....110
Получение данных....113
Глава 4. Функциональный Excel....115
Кратко освежим знания: функциональные и классовые компоненты....115
Отображение данных....116
Хук состояния....118
Сортировка таблицы....120
Редактирование данных....123
Поиск....125
Жизненные циклы в мире хуков....126
Проблемы с методами жизненного цикла....126
Хук useEffect()....127
Устранение побочных эффектов....128
Безаварийный жизненный цикл....130
Хук useLayoutEffect()....131
Пользовательский хук....134
Завершение воспроизведения....137
Хук useReducer....139
Функции редюсера....139
Действия....140
Пример редюсера....141
Модульное тестирование редюсера....144
Компонент Excel с редюсером....145
Глава 5. JSX....149
Несколько инструментов....150
Пробельные символы в JSX....151
Комментарии в JSX....153
Элементы HTML....154
Anti-XSS....156
Распространяемые атрибуты....157
Атрибуты, распространяемые от родительского компонента к дочернему ....158
Возвращение в JSX нескольких узлов ....161
Оболочка ....161
Фрагмент....162
Массив....162
Отличия JSX от HTML....163
Просто class использовать нельзя, а как насчет for?....164
Атрибут style — объект....164
Закрывающие теги....165
Атрибуты в верблюжьем регистре....166
Компоненты с пространством имен....166
JSX и формы....168
Обработчик события onChange....168
Сравнение value и defaultValue....170
Значение компонента ....171
Значение компонента <select> ....172
Управляемые и неуправляемые компоненты....173
Глава 6. Настройки, необходимые для разработки приложения....181
Создание React-приложения....182
Node.js....182
Привет, CRA....183
Сборка и развертывание....184
Были допущены ошибки....186
Файл package.json и папка node_modules....186
Рассмотрим код подробнее....187
Индексы....187
Модернизированный JavaScript....188
CSS....189
Идем дальше....190
Глава 7. Создание компонентов приложения....191
Настройка....192
Приступим к программированию....192
Рефакторинг компонента Excel....193
Версия 0.0.1 нового приложения....196
CSS....197
Локальное хранилище....198
Компоненты ....199
Исследование....201
Логотип и тело....203
Логотип....203
Тело....204
Исследование компонентов....204
Компонент <button>....205
Файл Button.js....206
Пакет classnames....207
Формы....209
Компонент <Suggest>....209
Компонент <Rating> ....211
Компонент <FormInput> ....215
Компонент <Form>....218
Компонент <Actions>....224
Диалоги....226
Компонент <Header>....232
Конфигурация приложения....233
<Excel>: новый и усовершенствованный ....235
Общая структура....238
Отображение ....239
Строгий режим React и редюсеры....244
Небольшие вспомогательные функции Excel....247
Глава 8. Готовое приложение....254
Обновленный App.js....257
Компонент DataFlow....258
Тело компонента DataFlow....260
Работа выполнена ....263
Whinepad v2....266
Контекст....266
Следующие шаги....267
Циклические данные....268
Предоставление контекста....270
Потребление контекста....273
Контекст в заголовке....274
Контекст в таблице данных....279
Обновление Discovery....281
Маршрутизация....284
Контекст маршрута....285
Использование URL фильтра....288
Использование контекста маршрута в заголовке....290
Использование контекста маршрута в таблице данных....292
Хук useCallback()....294
Заключение ....298
Об авторе....299
Иллюстрация на обложке....300
Незаменимая книга по React – технологии с открытым исходным кодом для быстрого создания многофункциональных веб-приложений. Второе издание, обновленное с учетом последней версии React, показывает, как создавать компоненты React и организовывать их в удобные для сопровождения крупномасштабные приложения. Если вы знаете синтаксис JavaScript, то сразу можете приступать к работе.
По ходу чтения разработчики и программисты создадут полноценное приложение. Вы быстро поймете, почему многие выбирают React для разработки веб-приложений.