Ответ
useRef — это хук в React, который создает мутабельный (изменяемый) объект с свойством current. Он сохраняет значение между рендерами, но не вызывает ререндер при изменении.
Основные случаи использования:
- Доступ к DOM-элементам
const inputRef = useRef(null);
<input ref={inputRef} />;
// inputRef.current.focus();- Хранение мутабельных значений (например, таймеров, предыдущих значений)
const intervalId = useRef();
intervalId.current = setInterval(...);
// clearInterval(intervalId.current);Отличие от useState:
- Изменение
ref.currentне триггерит ререндер. - Значение
refсохраняется на протяжении всего времени жизни компонента.
⚠️ Не используйте ref для значений, которые должны влиять на UI — для этого подходит useState.