Вопрос проверяет понимание порядка выполнения хука useEffect в React, включая фазы монтирования, обновления и размонтирования компонента.
Хук useEffect в React выполняется асинхронно после того, как компонент отрендерился и браузер обновил экран. Это позволяет не блокировать пользовательский интерфейс при выполнении побочных эффектов, таких как запросы к API или подписки на события.
import React, { useState, useEffect } from 'react';
function Example() {
const [count, setCount] = useState(0);
useEffect(() => {
console.log('Effect runs after render');
return () => {
console.log('Cleanup runs before next effect or unmount');
};
}, [count]);
return (
<div>
<p>Count: {count}</p>
<button onClick={() => setCount(c => c + 1)}>Increment</button>
</div>
);
}В этом примере при каждом нажатии кнопки сначала выполняется очистка (если count изменился), затем новый эффект. При первом рендере очистка не вызывается.
Понимание порядка выполнения useEffect важно для корректной работы с подписками, таймерами и запросами. Используйте зависимости для контроля частоты выполнения и всегда очищайте ресурсы в возвращаемой функции, чтобы избежать утечек памяти.
Уровень
Рейтинг:
5
Сложность:
4
Навыки
JavaScript
React
Ключевые слова
Подпишись на React Developer в телеграм
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию