Хотите создавать эффективные приложения с помощью React? Тогда эта книга написана для вас. Познакомьтесь c лучшими практиками и шаблонами создания современного кода. Вам не потребуются глубокие знания React или функционала JavaScript — достаточно знакомства с принципами работы JavaScript, CSS и HTML. Алекс Бэнкс и Ева Порселло научат вас создавать пользовательские интерфейсы, которые будут динамически отображать изменения без необходимости перезагрузки страницы даже на крупномасштабных сайтах, работающих с огромными массивами данных. В этой книге вы: • Разберетесь с ключевыми аспектами функционального программирования на JavaScript. • Узнаете, как устроена работа React в браузере. • Создадите слои представления приложения с помощью компонентов React. • Научитесь управлять данными и тратить меньше времени на отладку. • Внедрите в проект хуки React для управления состояниями и перехвата данных. • Используете маршрутизатор для полноценной работы с одностраничными приложениями. • Научитесь структурировать приложения React с учетом особенности работы сервера.
При выборе между объявлением функции и функциональным выражением помните, что первые записываются в память, а вторые — нет. Другими словами, вы можете вызвать функцию до того, как объявите ее, но не можете вызвать функцию, созданную с помощью функционального выражения, так как это вызовет ошибку.
енные ранее в этой главе примеры кода были синхронными — содержали список инструкций, которые выполняются по порядку. Например, чтобы использовать JavaScript для обработки простых манипуляций с DOM, мы напишем:
Это инструкции. «Эй, выбери-ка вон тот элемент с идентификатором heading. А как справишься с этим, запиши-ка приветствие в его innerHTML». Код работает синхронно. Пока происходит одна операция, остальной код ждет.
Но в современном интернете необходимо выполнять асинхронные задачи. Для этого часто приходится ждать завершения некоторой работы. Нам может потребоваться доступ к базе данных, потоковая передача видео- или аудиоконтента или данные из API. В JavaScript асинхронные задачи не блокируют основной поток, позволяя коду делать что-то еще, пока он ждет данные от API. За послед