Встречается на собеседованиях • сегодня
Использовал ли useLayoutEffect
`useLayoutEffect` — это хук, схожий с `useEffect`, но он выполняется синхронно после всех изменений DOM, но до отрисовки браузером. Это полезно, когда нужно измерить или изменить DOM до того, как пользователь увидит изменения.
**Пример:**
```jsx
import { useLayoutEffect, useState } from 'react';
function Example() {
const [width, setWidth] = useState(0);
useLayoutEffect(() => {
const measureWidth = () => {
const element = document.getElementById('target');
setWidth(element.offsetWidth);
};
measureWidth();
window.addEventListener('resize', measureWidth);
return () => window.removeEventListener('resize', measureWidth);
}, []);
return
Ширина: {width}px
;
}
```
**Когда использовать:**
- Измерение DOM
- Принудительное изменение стилей перед отрисовкой
- Избегание визуального мерцания
⚠️ **Важно:** `useLayoutEffect` блокирует отрисовку, поэтому злоупотреблять им не стоит. В большинстве случаев хватит `useEffect`.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы