Стефанов С. React.js Быстрый старт

Издательство: Питер
Автор: Стефанов С.
ISBN: 978-5-496-03003-8
Страниц: 304
Язык: Русский
Год издания: 2017

 
 
 

Описание книгиСодержаниеДополнительно

Книги по IT. Это руководство поможет JavaScript-разработчикам начать работу с технологией React. Изучив его, вы освоите: создание и использование своих компонентов React совместно с компонентами DOM; написание компонентов для редактирования, сортировки, поиска и экспорта содержимого таблиц; использование синтаксиса JSX при вызове функций; запуск процесса сборки; проверку и тестирование кода при разработке приложения.

Предисловие. 14
О чем эта книга. 16
Соглашения, используемые в книге. 17
Использование примеров кода. 18
Благодарности. 19
Об авторе. 20
Глава 1. Hello World. 21
Установка. 21
Привет, мир React. 23
Так что же сейчас произошло?. 25
React.DOM.*. 27
Специальные DOM-атрибуты. 31
Расширение браузера React DevTools. 33
Далее: настраиваемые компоненты. 33
Глава 2. Жизнь компонента. 35
Самый минимум. 35
Свойства. 38
propTypes. 39
Состояние. 43
Компонент textarea, отслеживающий свое состояние. 45
Немного о DOM-событиях. 50
Обработка событий в прежние времена. 50
Обработка событий в React. 52
Сравнение свойств и состояния. 53
Свойства в исходном состоянии: антишаблон. 54
Доступ к компоненту извне. 55
Изменение свойств на лету. 58
Методы управления жизненным циклом. 60
Примеры управления жизненным циклом. 61
Тотальная регистрация. 61
Использование примеси. 65
Применение дочернего компонента. 67
Выигрыш в производительности: предотвращение
обновлений компонентов. 71
PureRenderMixin. 74
Глава 3. Excel: необычный табличный компонент. 77
Начнем с данных. 78
Цикл создания заголовков таблицы. 78
Отладка для избавления от консольного предупреждения. 81
Добавление содержимого <td>. 84
Сортировка. 87
Создание индикации сортировки в пользовательском интерфейсе. 90
Редактирование данных. 92
Редактируемая ячейка. 93
Поле ввода ячейки. 95
Сохранение. 96
Выводы и определение различий в виртуальной DOM-модели. 97
Поиск. 99
Состояние и пользовательский интерфейс. 102
Фильтрация содержимого. 105
Как можно усовершенствовать поиск?. 108
Мгновенное воспроизведение. 108
Как можно усовершенствовать воспроизведение?. 111
А возможна ли альтернативная реализация?. 111
Скачивание данных таблицы. 111
Глава 4. JSX. 114
Привет, JSX. 115
Транспиляция JSX. 116
Babel. 117
Клиентская сторона. 118
О преобразовании JSX. 120
JavaScript в JSX. 122
Пробельные символы в JSX. 125
Комментарии в JSX. 127
Элементы HTML. 128
Анти-XSS. 129
Распространяемые атрибуты. 130
Возвращение в JSX нескольких узлов. 133
Отличия JSX от HTML. 136
Просто class использовать нельзя, а как насчет for?. 136
style является объектом. 136
Закрывающие теги. 137
Атрибуты в «верблюжьем» регистре. 138
JSX и формы. 138
Обработчик события onChange. 138
Сравнение value и defaultValue. 139
Значение компонента <textarea>. 140
Значение компонента <select>. 142
Компонент Excel в JSX. 143
Глава 5. Настройки для разработки приложения. 144
Типовое приложение. 145
Файлы и папки. 145
index.html. 147
CSS. 149
JavaScript. 150
JavaScript: модернизированный код. 150
Установка обязательных инструментальных средств. 155
Node.js. 156
Browserify. 156
Babel. 157
React и прочие. 157
Займемся сборкой. 158
Транспиляция JavaScript. 158
Создание пакета JavaScript. 159
Создание пакета CSS. 159
Результаты!. 160
Версия для Windows. 160
Сборка в процессе разработки. 161
Развертывание. 162
Идем дальше. 164
Глава 6. Создание приложения. 165
Whinepad v.0.0.1. 166
Подготовка к работе. 166
Приступим к программированию. 166
Компоненты. 169
Настройка. 170
Исследование. 171
Компонент <Button>. 173
Button.css. 174
Button.js. 175
Формы. 179
Компонент <Suggest>. 180
Компонент <Rating>. 183
Компонент <FormInput>. 188
Компонент <Form>. 192
Компонент <Actions>. 196
Диалоги. 198
Настройка приложения. 202
<Excel>: новый и усовершенствованный. 204
Компонент <Whinepad>. 216
Подведение итогов. 220
Глава 7. Проверка качества кода, соответствия типов, тестирование, повтор. 222
package.json. 222
Настройка Babel. 223
Сценарии. 224
Средство ESLint. 225
Установка. 225
Запуск. 226
Все правила. 228
Средство Flow. 228
Установка. 229
Запуск. 229
Подписка на проверку соответствия типов. 230
Оглавление 11
Исправление кода компонента <Button>. 231
app.js. 233
Подробнее о проверке соответствия типов свойств и состояния. 236
Типы экспорта и импорта. 238
Приведение типов. 239
Инварианты. 241
Тестирование. 243
Установка. 243
Первый тест. 245
Первый React-тест. 246
Тестирование компонента <Button>. 248
Тестирование компонента <Actions>. 252
Дополнительные имитируемые взаимодействия. 256
Тестирование полного взаимодействия. 258
Полнота охвата. 261
Глава 8. Flux. 265
Основной замысел. 266
Иной взгляд на Whinepad. 267
Хранилище. 269
События хранилища. 272
Использование хранилища в <Whinepad>. 274
Использование хранилища в <Excel>. 278
Использование хранилища в <Form>. 279
Где провести границу?. 281
Действия. 282
CRUD-действия. 282
Поиск и сортировка. 284
Использование действий в <Whinepad>. 286
Использование действий в компоненте <Excel>. 288
И еще немного о Flux. 291
Библиотека immutable. 293
Хранилище данных при использовании библиотеки immutable. 294
Работа с данными при использовании библиотеки immutable. 296