Как работает хук useEffect?

Доброго времени суток! Читал документацию по хукам на reactjs.org и дошел до этого примера:
5e2d740227bda602153011.png
Не могу понять почему функция HandleStatusChange объявлена в хуке useEffect, и как этот хук ее вызывает? Обычно когда мне требовалось использовать такую функцию, я объявлял ее в верхнем уровне и вызывал в уже в хуке. Как это работает? В документации на этом внимания не акцентируют.
  • Вопрос задан
  • 243 просмотра
Решения вопроса 2
profesor08
@profesor08
Переданная в useEffect функция вызывается при обновлении компонента, либо указанных зависимостей. Назначения параметров указаны в документации.
Ответ написан
@abberati
frontend-разработчик
Конкретно в этом примере нет разницы, где объявлять. Если бы у эффекта были зависимости (а они тут должны быть, просто пример не про это написан), то эффект выполнялся бы реже, чем на каждый рендер. Тогда функция снаружи объявлялась бы впустую.

А вызывает её не эффект, а ChatAPI — представьте себе, что это некий document.addEventListener м обработчиком событий handleStatusChange. Эффект организует подписку и отписку.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы