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