Выбор ответа Middle Эффекты и жизненный цикл обновлено
Когда нужен useLayoutEffect
Вопрос
В каком случае useLayoutEffect оправдан?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Чтобы измерить тултип и поставить его до отрисовки, без мигания. useLayoutEffect выполняется синхронно после изменения DOM и до того, как браузер нарисует кадр, поэтому пользователь не увидит промежуточную позицию.
Варианты ответа
- Для загрузки данных при монтировании, чтобы они пришли раньше
- Чтобы эффект не запускался дважды в StrictMode при разработке
- Всегда: он быстрее
useEffect, потому что выполняется синхронно - Чтобы измерить тултип и поставить его до отрисовки, без миганияправильный ответ
Разбор
useLayoutEffect выполняется синхронно после изменения DOM и до того, как браузер нарисует кадр, поэтому пользователь не увидит промежуточную позицию. Для загрузки данных он только задержит отрисовку. StrictMode проверяет и его тоже. Он не быстрее: он блокирует отрисовку, поэтому по умолчанию берут useEffect.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.