Что такое hook useRef

Ответ

useRef — это хук в React, который создает мутабельный (изменяемый) объект с свойством current. Он сохраняет значение между рендерами, но не вызывает ререндер при изменении.

Основные случаи использования:

  1. Доступ к DOM-элементам
const inputRef = useRef(null);
<input ref={inputRef} />;
// inputRef.current.focus();
  1. Хранение мутабельных значений (например, таймеров, предыдущих значений)
const intervalId = useRef();
intervalId.current = setInterval(...);
// clearInterval(intervalId.current);

Отличие от useState:

  • Изменение ref.current не триггерит ререндер.
  • Значение ref сохраняется на протяжении всего времени жизни компонента.

⚠️ Не используйте ref для значений, которые должны влиять на UI — для этого подходит useState.