Перейти к содержимому
На этой странице

Жизненный цикл компонентов

Все темы React Developer

Какие методы жизненного цикла компонентов вы знаете?

В React компоненты проходят через ряд этапов своего “жизненного цикла”, включая следующие методы:

  1. constructor(props): Вызывается при создании компонента. Здесь происходит инициализация состояния и привязка методов.

  2. componentDidMount(): Вызывается после того, как компонент был вставлен в DOM. Часто используется для загрузки данных с сервера.

  3. componentDidUpdate(prevProps, prevState): Вызывается после обновления компонента. Позволяет реагировать на изменения пропсов или состояния.

  4. shouldComponentUpdate(nextProps, nextState): Позволяет оптимизировать обновления компонента, возвращая false, если обновление не требуется.

  5. componentWillUnmount(): Вызывается перед удалением компонента из DOM. Используется для очистки ресурсов.

  6. static getDerivedStateFromProps(props, state): Редко используется. Позволяет обновить состояние на основе новых пропсов.

  7. getSnapshotBeforeUpdate(prevProps, prevState): Редко используется. Позволяет получить информацию из DOM перед его обновлением.

  8. componentDidCatch(error, info): Используется для обработки ошибок в дочерних компонентах.


Какие методы жизненного цикла объявили устаревшими в React 16.3?

В React 16.3 следующие методы объявили устаревшими и добавили варианты с префиксом UNSAFE_. Это не было их удалением:

  1. componentWillMount: Этот метод вызывался перед рендерингом компонента. Вместо него рекомендуется использовать constructor  или componentDidMount, в зависимости от сценария.

  2. componentWillReceiveProps: Этот метод вызывался перед тем, как компонент получал новые пропсы. Теперь его рекомендуется заменить на  componentDidUpdate, где вы можете сравнить предыдущие и текущие пропсы.

  3. componentWillUpdate: Этот метод вызывался перед обновлением компонента. Вместо него можно использовать componentDidUpdate.

Эти изменения были внесены, чтобы сделать жизненный цикл более предсказуемым и избежать проблем, связанных с асинхронностью вызовов методов. Если вам нужно выполнять действия в определенных моментах жизненного цикла компонента, обновите свой код с учетом этих изменений.

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

Смотри записи интервью, узнай, какие вопросы задают и как отвечают кандидаты.

Вопросы и ответы

Не нашли ответ? Напишите мне в чат. Я делаю Шпаргалку и сам отвечаю на сообщения. Расскажите, что не работает или чего вам не хватает. Может, смогу сразу взять это в работу.

Откуда взяты вопросы?

Из реальных собеседований. Основой подборки стал опыт Вадима Новосёлова: он проходил интервью и записывал вопросы. Подробнее о материалах.

Насколько эти вопросы актуальны?

Эти вопросы встречались нам на реальных собеседованиях в 2025 году. Мы регулярно проходим собеседования и пополняем подборку новыми вопросами. Основы профессии и ключевые технологии остаются востребованными годами, а детали конкретных инструментов и версий стоит сверять с текущей документацией.

На какой уровень рассчитана подборка?

Мы проходили собеседования на вакансии уровня Middle+, а иногда и на Senior-позиции. Вопросы из этих интервью вошли в подборку. Направления работы: React-разработчик, Frontend-разработчик. Глубина обсуждения зависит от вакансии: будь готов объяснить основную идею, привести практический пример и разобрать ограничения и альтернативы решения.

Этот вопрос точно будет на моём собеседовании?

Гарантии нет: набор вопросов зависит от компании, задач команды, уровня вакансии и самого интервьюера. Эти вопросы уже встречались на реальных собеседованиях, но на твоём интервью ту же тему могут проверить другой формулировкой, практической задачей или обсуждением твоего опыта. Используй подборку, чтобы разобраться в теме: объясняй идею своими словами, приводи примеры и готовься обсудить ограничения и альтернативы решения. Так будет проще ответить и на знакомый вопрос, и на неожиданные уточнения.