Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Войти

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

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

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про React: useref, dom, access

Как useRef используется для работы с DOM?

Вопрос проверяет понимание того, как в React получают доступ к DOM-элементам и хранят изменяемые значения без перерендера.

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

useRef позволяет получить ссылку на DOM-элемент и обращаться к нему напрямую. Значение ref сохраняется между рендерами и не вызывает перерисовку при изменении. Это удобно для фокуса, измерений и интеграции с нативными API. useRef часто используют там, где состояние React избыточно. Он работает как контейнер для изменяемого значения.

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

Иногда React-состояние — не лучший инструмент, особенно когда нужно работать напрямую с DOM.

Что такое useRef

useRef — это хук, который возвращает объект вида:

  • { current: ... }

  • значение сохраняется между рендерами

  • изменение current не вызывает ререндер

Работа с DOM-элементами

Частый сценарий — доступ к реальному DOM-узлу.

const inputRef = useRef(null)

useEffect(() => {
  inputRef.current.focus()
}, [])

return <input ref={inputRef} />

Такой подход используют для:

  • установки фокуса

  • скролла

  • измерения размеров элементов

  • работы с canvas или video

useRef как хранилище значения

Помимо DOM, useRef применяют для:

  • хранения таймеров

  • хранения предыдущих значений

  • флагов, не влияющих на UI

Когда useRef предпочтительнее useState

  • значение не участвует в рендере

  • частые изменения

  • важно избежать лишних перерисовок

Вывод

useRef — это безопасный способ работать с DOM и хранить изменяемые значения без влияния на рендеринг компонента.

Уровень

  • Рейтинг:

    5

  • Сложность:

    4

Навыки

  • React

    React

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

#useref

#dom

#access

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