Встречается на собеседованиях • сегодня

Как использовать useEffect помимо запросов на сервер

useEffect можно использовать для множества задач помимо запросов:

  1. Подписки на события (например, resize, scroll):
js
useEffect(() => {
  const handleResize = () => console.log(window.innerWidth);
  window.addEventListener('resize', handleResize);
  return () => window.removeEventListener('resize', handleResize);
}, []);
  1. Работа с localStorage:
js
useEffect(() => {
  const savedValue = localStorage.getItem('key');
  if (savedValue) setState(savedValue);
}, []);

useEffect(() => {
  localStorage.setItem('key', state);
}, [state]);
  1. Интеграция с DOM API (например, focus, timer):
js
useEffect(() => {
  const timer = setTimeout(() => {}, 1000);
  inputRef.current?.focus();
  return () => clearTimeout(timer);
}, []);
  1. Запуск анимаций через requestAnimationFrame

  2. Синхронизация с внешними библиотеками (например, инициализация карт, графиков)

Важно всегда очищать побочные эффекты в функции cleanup, чтобы избежать утечек памяти.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы