Встречается на собеседованиях • сегодня
Приведи примеры использования useRef
`useRef` позволяет сохранять мутируемое значение между рендерами без перерисовки компонента. Основные сценарии:
1. **Доступ к DOM-элементам**
```jsx
function InputFocus() {
const inputRef = useRef(null);
useEffect(() => {
inputRef.current.focus();
}, []);
return ;
}
```
2. **Хранение изменяемых значений**
```jsx
function Timer() {
const intervalRef = useRef();
useEffect(() => {
intervalRef.current = setInterval(() => {
console.log('Tick');
}, 1000);
return () => clearInterval(intervalRef.current);
}, []);
}
```
3. **Сравнение предыдущих props/state**
```jsx
function Counter() {
const [count, setCount] = useState(0);
const prevCountRef = useRef();
useEffect(() => {
prevCountRef.current = count;
});
const prevCount = prevCountRef.current;
// ...
}
```
Ключевые особенности:
- Изменение `ref.current` не вызывает ререндер
- Значение сохраняется между рендерами
- Не использовать для данных, влияющих на отрисовку (для этого `useState`)

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы