Встречается на собеседованиях • сегодня
Зачем нужен hook useLayoutEffect
`useLayoutEffect` выполняет тот же код, что и `useEffect`, но синхронно после всех DOM-мутаций, но до отрисовки браузером. Это полезно, когда нужно измерить или изменить DOM до визуального обновления, избегая мерцания.
**Пример:**
```jsx
function Tooltip() {
const [position, setPosition] = useState({ top: 0, left: 0 });
const ref = useRef();
useLayoutEffect(() => {
const rect = ref.current.getBoundingClientRect();
setPosition({ top: rect.height + 10, left: rect.width / 2 });
}, []);
return (
Tooltip
);
}
```
**Когда использовать:**
- Измерение DOM (ширина/высота).
- Принудительное изменение стилей перед рендером.
**⚠️ Важно:** Может блокировать отрисовку, если содержит тяжелые вычисления. Для асинхронных операций используй `useEffect`.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы