Эффект выполняется при монтировании, а функция очистки — при демонтировании (если они определены, конечно). Более того, если эффект имеет массив зависимостей, очистка и эффект также выполняются при каждом изменении ссылки на значение в массиве зависимостей
Декларативный стиль (в отличие от императивного) — React отдает предпочтение декларативному стилю вместо императивного, автоматически обновляя представления.
Сокращение объема кода — огромное сообщество React и гигантская экосистема компонентов предоставляют в распоряжение разработчика множество разнообразных библиотек и компонентов. Это важный момент при выборе фреймворка, используемого для разработки.
Быстрый пользовательский интерфейс — React обеспечивает выдающуюся производительность благодаря своей виртуальной модели DOM и алгоритму интеллектуального согласования (smart-reconciliation algorithm). Одно из дополнительных преимуществ — возможность тестирования без запуска браузера с отсутствующим графическим интерфейсом.
Простые приложения — React использует компонентную архитектуру с чистым JavaScript, декларативный стиль программирования и мощные, удобные для разработчика абстракции DOM (и не только DOM, но и iOS, Android и т.д.).
Приходится использовать компонентную архитектуру (CBA), описанную в главе 1, которая позволяет повторно использовать код за счет разбиения функциональности на слабо связанные составляющие.