Задать вопрос
Gimir
@Gimir
JavaScript dev

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

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

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

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

Похожие вопросы