Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Войти

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

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

© 2026 YeaHub

Документы

Медиа

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

Как useEffect заменяет методы жизненного цикла? Что происходит при пустом массиве зависимостей?

Вопрос проверяет знание работы useEffect и его аналогов в классовых компонентах.

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

useEffect объединяет логику componentDidMount, componentDidUpdate и componentWillUnmount. Пустой массив зависимостей ([]) означает, что эффект запустится только при монтировании и очистится при размонтировании.

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

Аналогии с классами:

  • componentDidMount: Эффект с [].

  • componentDidUpdate: Эффект без [] или с зависимостями.

  • componentWillUnmount: Функция очистки в useEffect.

Примеры:

  1. Монтирование и размонтирование:

useEffect(() => {
  console.log('Компонент смонтирован');
  return () => console.log('Компонент размонтирован');
}, []);
  1. Зависимости:

useEffect(() => {
  console.log('Значение изменилось:', value);
}, [value]); // Срабатывает при изменении `value`

Пустой массив зависимостей:

  • Эффект запускается один раз после первого рендера.

  • Очистка (если есть) выполняется при размонтировании.

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

Уровень

  • Рейтинг:

    3

  • Сложность:

    8

Навыки

  • React

    React

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

#react

#useeffect

#lifecycle

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