Встречается на собеседованиях • сегодня

Существуют ли способы положить что-либо в useRef помимо ссылки на узел

Да, useRef можно использовать для хранения любых мутируемых значений, не только DOM-узлов. Это удобно для значений, которые должны сохраняться между рендерами, но не должны вызывать ререндер при изменении.

Пример:

jsx
const timerRef = useRef(null); // храним таймер
const counterRef = useRef(0); // храним число

function startTimer() {
  timerRef.current = setInterval(() => {
    counterRef.current++;
    console.log(counterRef.current);
  }, 1000);
}

Особенности:

  • Изменение ref.current не вызывает ререндер
  • Значение сохраняется при обновлениях компонента
  • Не использовать для данных, которые должны влиять на отрисовку (для этого useState)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы