Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Задачи

Войти

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

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

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

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

Зачем использовать ref для мутабельных данных

Вопрос проверяет понимание мутабельных данных и оптимизации ререндеров.

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

ref используют для хранения данных, которые меняются со временем, но не должны вызывать ререндер. Это позволяет избежать лишних обновлений UI и повысить производительность. ref сохраняет значение между рендерами и доступен синхронно. React игнорирует изменения ref.current.

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

Определение

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

Почему не state

Если использовать state:

  1. каждое изменение вызовет ререндер

  2. UI будет обновляться без необходимости

  3. возможны проблемы с производительностью

Типичные кейсы для ref

  1. Таймеры и интервалы

  2. Счётчики событий

  3. Предыдущее значение пропса или state

  4. Флаги жизненного цикла

Пример: предыдущее значение

const prevCount = useRef(count);

useEffect(() => {
  prevCount.current = count;
}, [count]);

Пример: таймер

const timerId = useRef(null);

timerId.current = setTimeout(() => {
  // логика
}, 1000);

Важный нюанс

  1. Изменение ref.current не инициирует ререндер

  2. Значение доступно сразу

  3. ref живёт столько же, сколько компонент

Вывод

ref — это инструмент для управления мутабельным состоянием вне рендера. Он нужен, когда важна производительность и контроль, а не отображение данных.

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию

Уровень

  • Рейтинг:

    4

  • Сложность:

    7

Навыки

  • React

    React

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

#useref

#mutable

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

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию