TGViewer
Deep Digital Deep Digital @deepdigital · 1.06K subscribers
Post #118 1.27K
Что за ссылка такая — ref?
#frontend #react

На собеседованиях мы обычно спрашиваем соискателя, что такое ref в React. Ответ часто таков: «Ref — это ссылка на DOM-узел». Такое определение необратимо устарело с выходом React v16.3.0. Именно в этой версии появилось API для создания объекта ref — React.createRef().

Получение ссылки на DOM-элемент — это всего лишь один из способов использования ref в React API. В более старых версиях React можно встретить методы refs callback для решения данной задачи.

Путаница с рефами стала более очевидной с приходом React Hooks. При изменении состояния функционального компонента может понадобиться не вызывать его повторный рендер. И это задача для рефов!

Например, нам необходимо остановить таймеры, проинициализированные функциями setTimeout или setInterval по клику на кнопку. Использование React.useState() избыточно для решения такой задачи и может ввести в заблуждение других разработчиков.

Из-за большого количества вопросов и issues на GitHub в официальной документации к React Hooks появился подобный вопрос: есть ли что-то вроде переменных экземпляра?https://ru.reactjs.org/docs/hooks-faq.html#is-there-something-like-instance-variables.

Мы рекомендуем именно такое определение: «ref — это объект, а его изменяемое свойство current может хранить в себе любое значение».
More from @deepdigital
  1. May 19, 2026Как расти в непростом рынке, масштабировать группу компаний и не терять фокус на клиентах?…
  2. Dec 26, 2025⚡️Подвели итоги 2025 года Chulakov Group Записали подкаст с Олегом Чулаковым — основателем…
  3. Dec 8, 2025Победы на Tagline Awards 2025 🏆 Снова громко напомнили, зачем делаем дизайн — чтобы созда…
  4. Jun 9, 2025Chulakov ⨉ ИТМО 💥 Мы снова в одном из крупнейших IT-вузов России. Альберт Рыбалко, руково…
  5. Jun 6, 2025🏆 Chulakov — № 1 в дизайне по всем рейтингам Безоговорочный лидер по версии крупнейших ан…
  6. May 6, 2025🙌 Вспоминаем, как насыщенно провели время на IT-конференции Merge Были рады стать партнер…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →