Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про React: hooks

Какие основные хуки в React и для чего они нужны?

Вопрос проверяет знание базовых хуков React и их применения.

Короткий ответ

Основные хуки:

  1. useState — хранение состояния компонента.

  2. useEffect — побочные эффекты (запросы, подписки).

  3. useContext — доступ к контексту без пропсов.

  4. useRef — ссылки на DOM или изменяемые значения.

  5. useMemo / useCallback — оптимизация вычислений и функций.

Длинный ответ

1. useState

Управление состоянием компонента.

const [count, setCount] = useState(0);
<button onClick={() => setCount(count + 1)}>{count}</button>

2. useEffect

Для запросов, таймеров, подписок.

useEffect(() => {
  fetchData().then(data => setData(data));
  return () => { /* Очистка (например, отмена запроса) */ };
}, [deps]);

3. useContext

Доступ к глобальным данным (тема, авторизация).

const theme = useContext(ThemeContext);
<div style={{ color: theme.color }}>Text</div>

4. useRef

  • Для DOM:

    const inputRef = useRef();
    <input ref={inputRef} />;
  • Для изменяемых значений (без ререндера):

    const timerId = useRef();
    useEffect(() => {
      timerId.current = setInterval(() => {}, 1000);
    }, []);

5. useMemo / useCallback

  • Кеширование значений:

    const filteredList = useMemo(() => (
      list.filter(item => item.price > 100)
    ), [list]);
  • Кеширование функций:

    const handleClick = useCallback(() => {
      console.log('Clicked!');
    }, []);

Уровень

  • Рейтинг:

    5

  • Сложность:

    4

Навыки

  • React

    React

Ключевые слова

#hooks

Подпишись на React Developer в телеграм