Получить доступ

Хуки

Основа с Junior

useState, useEffect, useRef, useMemo и правила, по которым они работают.

React хранит состояние хуков по порядку вызова в компоненте — поэтому хуки вызывают только на верхнем уровне, не в условиях и циклах.

хукдля чего
useStateсостояние
useEffectсинхронизация с внешним миром: подписки, таймеры, запросы
useRefизменяемое значение без перерисовки, ссылка на DOM
useMemo, useCallbackзапомнить вычисление или функцию между рендерами
useContextданные из контекста
useReducerсложное состояние с действиями
useEffect(() => {
  const id = setInterval(tick, 1000);
  return () => clearInterval(id);     // очистка
}, [tick]);

Что важно знать

  • Массив зависимостей должен содержать все используемые значения; пустой массив — эффект один раз после монтирования.
  • Эффект — не место для вычисления данных из props: это делают при рендере.
  • В режиме разработки StrictMode монтирует компонент дважды, чтобы поймать эффекты без очистки.
  • Свои хуки (useDebounce, useMediaQuery) выносят повторяющуюся логику.

Темы этапа

Критерии освоения

Junior ≈ 6 ч

  • Использует useState и useEffect с правильным массивом зависимостей и очисткой
  • Соблюдает правила хуков и объясняет, почему их нельзя вызывать в условиях

Практика. Сделать компонент с таймером и подпиской на размер окна с корректной очисткой.

Middle ≈ 6 ч

  • Отличает задачи для эффекта от вычислений при рендере и убирает лишние эффекты
  • Использует useReducer для сложного состояния

Практика. Переписать компонент с пятью useEffect, убрав эффекты, которые на самом деле вычисления или обработчики событий.

Вопросы с собеседований

Документация

← Вся карта «React»

Закрытая бета

Знать тему — половина дела

На живом собеседовании sotto слышит вопрос интервьюера и показывает короткий ответ и план. Оставьте контакт — пришлём доступ и промокод.

  • Промокод на 2 часа — сверх пробных 30 минут
  • Программа для Windows — скачать сразу, войти — через Яндекс ID или VK ID
  • Прямая связь с разработчиком: что улучшить — сделаем