> Как использовать useEffect для вызова кода при монтировании компонента (React)
Уровень: senior · Роль: frontend · Категория: Технические вопросы
Компании: Альфа-банк, IT-One
Стек: React
> Пример ответа
Для вызова кода при монтировании компонента с помощью useEffect нужно передать в него функцию с нужным кодом и пустой массив зависимостей []. Это гарантирует, что эффект выполнится только один раз - после первого рендера компонента.
Пример:
JSXimport { useEffect } from 'react';function MyComponent() {useEffect(() => {// Код, который выполнится при монтированииconsole.log('Компонент смонтирован');// Например, загрузка данных с APIfetch('/api/data').then(response => response.json()).then(data => console.log(data));}, []); // Пустой массив зависимостейreturn <div>Содержимое компонента</div>;}
Если нужно выполнить очистку при размонтировании (например, отменить подписку или таймер), верните функцию из эффекта:
JSXuseEffect(() => {const timer = setInterval(() => {console.log('Тик');}, 1000);return () => {clearInterval(timer); // Очистка при размонтировании};}, []);
Важно: пустой массив зависимостей означает, что эффект не зависит от пропсов или состояния и не будет перезапускаться при их изменении.
> Похожие задачи по frontend
Что функция, передаваемая в useEffect, может возвращать и зачем
Как найти и решить проблему производительности при вводе в input в React-приложении?
Какие преимущества у Next.js
Какие инструменты используются для тестирования React-компонентов
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью