> Можно ли вызвать монтирование или размонтирование компонента с помощью key в React (JavaScript)

Уровень: senior · Роль: frontend · Язык: JavaScript · Категория: Технические вопросы

Компании: ESoft

Стек: JavaScript, Node.js, React

> Пример ответа

Да, с помощью атрибута key можно принудительно вызвать монтирование и размонтирование компонента в React. Когда значение key меняется, React воспринимает компонент как новый экземпляр, полностью удаляет старый (размонтирует) и создает новый (монтирует). Это полезно, например, для сброса внутреннего состояния компонента или перезапуска эффектов.

Пример:

JSX
import React, { useState } from 'react';
function Timer() {
const [count, setCount] = useState(0);
React.useEffect(() => {
const interval = setInterval(() => setCount(c => c + 1), 1000);
return () => clearInterval(interval);
}, []);
return <div>{count} сек</div>;
}
function App() {
const [resetKey, setResetKey] = useState(0);
return (
<div>
<Timer key={resetKey} />
<button onClick={() => setResetKey(k => k + 1)}>Сбросить таймер</button>
</div>
);
}

При клике на кнопку resetKey увеличивается, старый Timer размонтируется (очищается интервал), а новый монтируется заново (запускается с 0).

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью