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

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

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

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

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

Похожие вопросы
ITK academy Нижний Новгород
от 80 000 до 120 000 ₽
ITK academy Воронеж
от 50 000 до 90 000 ₽