> Как работает useRef хук в React и для чего он используется (React)

Уровень: senior · Роль: frontend · Категория: Технические вопросы

Компании: ITQ Group МКБ БАНК, Альфа-банк, ДиджиталСектор, VK, Домклик, IT-One, Swetec, Софт Медиа Групп, EPAM, ПСБ, Exness, Сбер

Стек: React

> Пример ответа

useRef - это хук в React, который возвращает изменяемый ref-объект с свойством .current. В отличие от useState, изменение .current не вызывает повторный рендер компонента. Основные сценарии использования:

  1. Доступ к DOM-элементам: например, для фокуса на инпуте при монтировании:

    JSX
    const inputRef = useRef(null);
    useEffect(() => inputRef.current?.focus(), []);
    return <input ref={inputRef} />;
  2. Хранение мутируемых значений между рендерами: например, для хранения предыдущего значения состояния или идентификатора таймера:

    JSX
    const prevCount = useRef(count);
    useEffect(() => { prevCount.current = count; }, [count]);
  3. Избежание замыканий: ref остаётся стабильным на протяжении всего жизненного цикла компонента, что полезно в колбэках.

Важно: useRef не предназначен для хранения данных, влияющих на UI - для этого используйте useState.

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью