Вопрос проверяет понимание использования React useRef для хранения произвольных мутируемых данных, не связанных с DOM-элементами.
useRef — это хук React, который возвращает мутабельный объект с единственным свойством current. В отличие от useState, изменение значения current не вызывает повторный рендер компонента. Это делает useRef идеальным для хранения данных, которые должны сохраняться между рендерами, но не влияют на UI.
Помимо ссылок на DOM-элементы, useRef может хранить любые данные: числа, строки, объекты, функции, экземпляры классов. Например, можно хранить идентификатор таймера, предыдущее значение пропса или ссылку на внешний сервис.
import { useRef, useEffect } from 'react';
function Timer() {
const timerRef = useRef(null);
const countRef = useRef(0);
useEffect(() => {
timerRef.current = setInterval(() => {
countRef.current += 1;
console.log('Count:', countRef.current);
}, 1000);
return () => clearInterval(timerRef.current);
}, []);
return <div>Check console</div>;
}useRef — это мощный инструмент для хранения мутируемых данных, которые не должны влиять на рендер. Используйте его для таймеров, предыдущих значений и любых данных, которые нужно сохранять между рендерами без вызова обновления компонента.
Уровень
Рейтинг:
4
Сложность:
4
Навыки
JavaScript
React
Ключевые слова
Подпишись на React Developer в телеграм
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию