Facebook Pixel
Searching...
Русский
EnglishEnglish
EspañolSpanish
简体中文Chinese
FrançaisFrench
DeutschGerman
日本語Japanese
PortuguêsPortuguese
ItalianoItalian
한국어Korean
РусскийRussian
NederlandsDutch
العربيةArabic
PolskiPolish
हिन्दीHindi
Tiếng ViệtVietnamese
SvenskaSwedish
ΕλληνικάGreek
TürkçeTurkish
ไทยThai
ČeštinaCzech
RomânăRomanian
MagyarHungarian
УкраїнськаUkrainian
Bahasa IndonesiaIndonesian
DanskDanish
SuomiFinnish
БългарскиBulgarian
עבריתHebrew
NorskNorwegian
HrvatskiCroatian
CatalàCatalan
SlovenčinaSlovak
LietuviųLithuanian
SlovenščinaSlovenian
СрпскиSerbian
EestiEstonian
LatviešuLatvian
فارسیPersian
മലയാളംMalayalam
தமிழ்Tamil
اردوUrdu
The Road to React

The Road to React

Your journey to master plain yet pragmatic React.js
автор Robin Wieruch 2018 292 страниц
4.22
500+ оценки
Слушать
Слушать

ключевых вывода

1. Основы React: Компоненты, JSX и управление состоянием

Компоненты — это основа каждого приложения на React.

Строительные блоки React. Компоненты являются основными строительными блоками приложений на React, позволяя разработчикам создавать повторно используемые и модульные элементы пользовательского интерфейса. JSX, расширение синтаксиса для JavaScript, обеспечивает бесшовную интеграцию кода, похожего на HTML, внутри JavaScript, что упрощает описание структуры компонентов React.

Состояние и пропсы. Система управления состоянием React, в первую очередь через хук useState, позволяет компонентам поддерживать и обновлять собственные данные. Пропсы, с другой стороны, облегчают передачу данных и функций между компонентами, обеспечивая однонаправленный поток данных. Эта комбинация состояния и пропсов формирует основу декларативной модели программирования React, где разработчики описывают желаемое состояние пользовательского интерфейса, а React эффективно обновляет DOM, чтобы соответствовать ему.

2. Асинхронная обработка данных и побочные эффекты в React

Хук useEffect в React создает мемоизированную функцию каждый раз, когда изменяется массив зависимостей.

Управление побочными эффектами. Хук useEffect является ключевым для обработки побочных эффектов в компонентах React, таких как получение данных, подписки или ручное изменение DOM. Он позволяет разработчикам выполнять эти операции после рендеринга компонента, обеспечивая плавный пользовательский опыт и предотвращая ненужные повторные рендеры.

Асинхронные операции. При работе с асинхронными операциями, такими как вызовы API, React предоставляет шаблоны для управления состояниями загрузки, обработки ошибок и обновления данных. Техники, такие как условный рендеринг на основе состояний загрузки/ошибок и использование синтаксиса async/await внутри колбэков useEffect, помогают создавать надежные механизмы получения данных.

  • Ключевые аспекты асинхронной обработки данных:
    • Настройка состояний загрузки и ошибок
    • Использование async/await для более чистого асинхронного кода
    • Реализация границ ошибок для аккуратной обработки ошибок
    • Отмена текущих запросов при размонтировании компонентов

3. Управляемые компоненты и формы в React

Формы в JSX React не сильно отличаются от HTML.

Управление формами. Подход React к обработке форм вращается вокруг концепции управляемых компонентов. В этом шаблоне элементы формы, такие как поля ввода, флажки и выпадающие списки, управляются состоянием React, что позволяет более предсказуемо и управляемо вести себя формам.

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

  • Ключевые аспекты обработки форм в React:
    • Использование хука useState для управления состоянием формы
    • Реализация обработчиков onChange для обновления состояния
    • Предотвращение стандартного поведения отправки формы
    • Валидация ввода формы и отображение сообщений об ошибках

4. Техники оптимизации производительности для приложений React

API memo в React проверяет, изменились ли пропсы компонента.

Предотвращение ненужных повторных рендеров. Стандартное поведение React по повторному рендерингу дочерних компонентов при обновлении родительского компонента иногда может приводить к проблемам с производительностью. Компонент высшего порядка memo и хук useMemo позволяют разработчикам оптимизировать рендеринг, мемоизируя компоненты и значения соответственно.

Разделение кода и ленивое загружение. По мере роста приложений на React становится важно внедрять техники разделения кода. Компоненты React.lazy и Suspense позволяют разработчикам разделять код на более мелкие части и загружать их по мере необходимости, значительно улучшая время начальной загрузки и общую производительность приложения.

  • Ключевые техники оптимизации производительности:
    • Использование React.memo для функциональных компонентов
    • Реализация useMemo для дорогостоящих вычислений
    • Использование useCallback для мемоизации функций обратного вызова
    • Применение React.lazy и Suspense для разделения кода
    • Реализация виртуализации для длинных списков

5. Продвинутые шаблоны React: Пользовательские хуки и мемоизация

Пользовательские хуки инкапсулируют повторно используемую логику, которую легко разделять между компонентами.

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

Техники мемоизации. Мемоизация — это мощная техника оптимизации в React, используемая для кэширования результатов дорогостоящих вычислений или предотвращения ненужных повторных рендеров. Хуки useMemo и useCallback являются основными инструментами для реализации мемоизации в функциональных компонентах.

  • Преимущества пользовательских хуков и мемоизации:
    • Улучшенная организация и повторное использование кода
    • Повышенная производительность за счет кэширования
    • Лучшее разделение обязанностей в компонентах
    • Упрощенное тестирование сложной логики

6. Тестирование приложений React: Модульное, интеграционное и снимковое тестирование

React Testing Library придерживается одной основной философии: вместо тестирования деталей реализации компонентов React, она тестирует, как пользователи взаимодействуют с приложением и работает ли оно так, как ожидалось.

Философия тестирования. Сообщество React подчеркивает тестирование поведения пользователей, а не деталей реализации. Этот подход приводит к более надежным тестам, которые менее подвержены поломкам из-за внутреннего рефакторинга.

Инструменты и техники тестирования. Приложения React можно тестировать с помощью комбинации модульных тестов для отдельных функций и компонентов, интеграционных тестов для взаимодействий компонентов и снимковых тестов для обнаружения неожиданных изменений в пользовательском интерфейсе. Популярные библиотеки для тестирования включают Jest для запуска тестов и библиотеку утверждений, а также React Testing Library для рендеринга компонентов и симуляции взаимодействий пользователей.

  • Ключевые аспекты тестирования React:
    • Написание модульных тестов для отдельных компонентов и функций
    • Создание интеграционных тестов для проверки взаимодействий компонентов
    • Использование снимкового тестирования для обнаружения непреднамеренных изменений в пользовательском интерфейсе
    • Мокирование вызовов API и других внешних зависимостей
    • Реализация непрерывной интеграции для автоматизированного тестирования

7. Структурирование и масштабирование проектов React

Нет правильного способа для структурирования папок/файлов.

Организация проекта. По мере роста проектов на React правильная организация становится ключевой для поддерживаемости и масштабируемости. Хотя нет универсального подхода, общие шаблоны включают организацию по функциям, по типу (компоненты, хуки, утилиты) или их комбинацию.

Модульная архитектура. Внедрение модульной архитектуры помогает управлять сложностью по мере масштабирования проекта. Это включает создание повторно используемых компонентов, разделение обязанностей и установление четких интерфейсов между различными частями приложения.

  • Лучшие практики для структурирования проектов React:
    • Реализация согласованной системы именования
    • Создание четкого разделения между презентационными и контейнерными компонентами
    • Использование файлов index для более чистого импорта
    • Реализация ленивой загрузки для улучшения производительности
    • Использование TypeScript для улучшенной безопасности типов и опыта разработчика

Последнее обновление:

Отзывы

4.22 из 5
Средняя оценка на основе 500+ оценки с Goodreads и Amazon.

Путь к React получает в основном положительные отзывы, хвалят за ясность, практический подход и всестороннее освещение основ React. Читатели ценят пошаговые объяснения, интеграцию ES6 и практический проект. Книга рекомендуется для начинающих и тех, кто уже имеет некоторый опыт работы с React. Некоторые рецензенты отмечают её краткость и отсутствие продвинутых тем. Стиль написания автора и дополнительные ресурсы высоко оцениваются. Большинство читателей считают её отличным введением в React, хотя некоторые хотели бы более глубокого освещения определённых областей.

Об авторе

Робин Вирук — немецкий инженер-программист и фрилансер, работающий в Берлине. Он специализируется на одностраничных приложениях, используя JavaScript-фреймворки, такие как Ember, Angular и React. Вирук посвящает себя обучению и делится своими знаниями через блог, постоянно стремясь учиться и совершенствовать свои навыки. Как разработчик JavaScript на полную ставку, он приобрел обширный опыт в современных технологиях веб-разработки. Его страсть к образованию и стремление быть в курсе быстро развивающейся области веб-разработки сделали его уважаемой фигурой в сообществе React.

0:00
-0:00
1x
Dan
Andrew
Michelle
Lauren
Select Speed
1.0×
+
200 words per minute
Create a free account to unlock:
Requests: Request new book summaries
Bookmarks: Save your favorite books
History: Revisit books later
Ratings: Rate books & see your ratings
Unlock Unlimited Listening
🎧 Listen while you drive, walk, run errands, or do other activities
2.8x more books Listening Reading
Today: Get Instant Access
Listen to full summaries of 73,530 books. That's 12,000+ hours of audio!
Day 4: Trial Reminder
We'll send you a notification that your trial is ending soon.
Day 7: Your subscription begins
You'll be charged on Feb 6,
cancel anytime before.
Compare Features Free Pro
Read full text summaries
Summaries are free to read for everyone
Listen to summaries
12,000+ hours of audio
Unlimited Bookmarks
Free users are limited to 10
Unlimited History
Free users are limited to 10
What our users say
50,000+ readers
"...I can 10x the number of books I can read..."
"...exceptionally accurate, engaging, and beautifully presented..."
"...better than any amazon review when I'm making a book-buying decision..."
Save 62%
Yearly
$119.88 $44.99/year
$3.75/mo
Monthly
$9.99/mo
Try Free & Unlock
7 days free, then $44.99/year. Cancel anytime.
Settings
Appearance
Black Friday Sale 🎉
$20 off Lifetime Access
$79.99 $59.99
Upgrade Now →