useRef
— это хук в React, который позволяет вам создать ссылку на конкретный элемент DOM или экземпляр компонента. Это может быть полезно в различных ситуациях, таких как:
- Доступ к базовому элементу DOM для выполнения манипуляций с DOM, таких как выделение поля ввода или измерение размера компонента.
- Сохранение значения, которое должно сохраняться при нескольких отрисовках компонента, например, идентификатора таймера или экземпляра сторонней библиотеки.
Вот пример того, как вы можете использовать useRef
для создания ссылки на текстовый ввод и использовать его для фокусировки ввода при нажатии кнопки:
import { useRef } from 'react'; function MyComponent() { const inputRef = useRef(null); function handleButtonClick() { inputRef.current.focus(); } return ( <> <input ref={inputRef}type="text" /> <button onClick={handleButtonClick}>Focus Input</button> </> ); }
useRef
возвращает объект ref с одним свойством, current
. Это свойство будет инициализировано начальным значением, переданным в качестве аргумента, если оно есть, и его значение может быть обновлено с помощью ref.current = newValue
.
Важно отметить, что useRef
отличается от useState
, где обновление состояния вызывает повторную визуализацию компонента. useRef
не вызывает повторный рендеринг, он просто изменяет свойство current
.