Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Войти

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

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

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про React: таймер, useeffect

Как происходит размонтирование компонента?

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

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

Размонтирование компонента в React происходит, когда компонент удаляется из DOM. Это может произойти по различным причинам, таким как изменение состояния или пропсов родительского компонента. При размонтировании вызывается метод жизненного цикла componentWillUnmount (в классовых компонентах) или очищающие функции из useEffect (в функциональных компонентах), что позволяет выполнить необходимую очистку.

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

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

В классовых компонентах есть специальный метод жизненного цикла componentWillUnmount, который вызывается перед размонтированием компонента. Это место, где вы можете выполнять очистку, например, отменять подписки или очищать таймеры:

class MyComponent extends React.Component {
 	componentWillUnmount() {
   		// Очищаем таймер
   		clearTimeout(this.timer);
	 }

 	render() {
   		return <div>Hello!</div>;
	 }
}

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

import React, { useEffect } from 'react';

function MyComponent() {
 	useEffect(() => {
   		const timer = setTimeout(() => {
     			console.log('Timer executed');
   		}, 1000);

   		// Функция очистки
   		return () => clearTimeout(timer);
 	}, []);

 	return <div>Hello!</div>;
}

В этом примере таймер очищается, когда компонент размонтируется, предотвращая утечку памяти. Таким образом, размонтирование компонентов в React важно для управления ресурсами и обеспечения их эффективного использования.

Уровень

  • Рейтинг:

    5

  • Сложность:

    7

Навыки

  • React

    React

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

#таймер

#useeffect

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