Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про React: useeffect, dependency

Когда useEffect вызывается один раз?

Вопрос проверяет знание массива зависимостей и поведения useEffect при монтировании компонента.

Короткий ответ

useEffect вызывается один раз, если ему передан пустой массив зависимостей []. В этом случае эффект выполняется после первого рендера компонента. Это поведение эквивалентно componentDidMount в классовых компонентах. Однако в StrictMode в режиме разработки эффект может вызываться дважды.

Длинный ответ

Пустой массив зависимостей сообщает React, что эффект не зависит ни от каких значений.

Определение

Пустой массив зависимостей ([]) означает, что эффект не должен пересчитываться при обновлениях состояния или пропсов.

Пример

useEffect(() => {
  console.log("mounted");
}, []);

Важный нюанс: StrictMode

В React StrictMode (только в dev-режиме):

  1. Компонент монтируется дважды.

  2. Эффект вызывается два раза.

  3. Это сделано для поиска побочных эффектов.

Как писать эффекты безопасно

  1. Делать эффекты идемпотентными.

  2. Использовать cleanup-функцию.

  3. Не полагаться на однократный вызов в dev-режиме.

Вывод

useEffect с пустым массивом вызывается один раз при монтировании компонента, но в режиме разработки с StrictMode это поведение может отличаться.

Уровень

  • Рейтинг:

    5

  • Сложность:

    4

Навыки

  • React

    React

Ключевые слова

#useeffect

#dependency

Подпишись на React Developer в телеграм