Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Задачи

Войти

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

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

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про React: React lifecycle, componentDidMount, componentDidUpdate, componentWillUnmount, componentDidCatch

Что такое componentDidMount, componentDidUpdate, componentWillUnmount, componentDidCatch?

Проверяет знание методов жизненного цикла классовых компонентов React и их назначения.

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

Это методы жизненного цикла классовых компонентов React. componentDidMount вызывается после монтирования компонента, используется для запросов к API и подписок. componentDidUpdate вызывается после обновления пропсов или состояния, позволяет реагировать на изменения. componentWillUnmount вызывается перед удалением компонента, используется для очистки подписок и таймеров. componentDidCatch ловит ошибки в дочерних компонентах и позволяет отобразить запасной UI.

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

Методы жизненного цикла классовых компонентов React

В классовых компонентах React существуют специальные методы, которые автоматически вызываются на разных этапах жизни компонента: монтирование, обновление, размонтирование и обработка ошибок. Эти методы позволяют разработчику выполнять побочные эффекты, такие как запросы к серверу, подписки или очистку ресурсов.

componentDidMount

Вызывается сразу после того, как компонент был вставлен в DOM. Это идеальное место для выполнения запросов к API, установки подписок или инициализации сторонних библиотек.

class MyComponent extends React.Component {
  componentDidMount() {
    fetch('/api/data')
      .then(res => res.json())
      .then(data => this.setState({ data }));
  }
  render() { return {this.state?.data}; }
}

componentDidUpdate

Вызывается после каждого обновления компонента (изменения пропсов или состояния). Позволяет реагировать на изменения, например, обновлять данные при смене ID.

componentDidUpdate(prevProps) {
  if (this.props.userId !== prevProps.userId) {
    this.fetchUser(this.props.userId);
  }
}

componentWillUnmount

Вызывается перед удалением компонента из DOM. Используется для отмены подписок, очистки таймеров или удаления обработчиков событий, чтобы избежать утечек памяти.

componentWillUnmount() {
  clearInterval(this.timer);
  this.subscription.unsubscribe();
}

componentDidCatch

Ловит ошибки, возникшие в дочерних компонентах (в методах render, lifecycle или конструкторах). Позволяет отобразить запасной UI и залогировать ошибку.

componentDidCatch(error, info) {
  console.error('Error caught:', error, info);
  this.setState({ hasError: true });
}
render() {
  if (this.state.hasError) return <h1>Something went wrong.</h1>;
  return this.props.children;
}

Вывод: Эти методы необходимы для управления побочными эффектами и ресурсами в классовых компонентах. С появлением хуков в функциональных компонентах их заменили useEffect и Error Boundary, но понимание lifecycle методов важно для работы с легаси-кодом и глубокого понимания React.

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию

Уровень

  • Рейтинг:

    4

  • Сложность:

    4

Навыки

  • React

    React

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

#React lifecycle

#componentDidMount

#componentDidUpdate

#componentWillUnmount

#componentDidCatch

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

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию