Привет, обьясните пж простыми словами разницу между useEffect и useLayoutEffect
useEffect после отрисовки срабатывает а useLayoutEffect - до отрисовки компонента как метод componentDidMount(). Как правило useEffect - а хватает. useEffect происходит когда Dom уже отрисовался а useLayoutEffect блокирует отрисовку пока все не выполнит
useEffect после отрисовки срабатывает а useLayoutEffect - до отрисовки компонента как метод componentDidMount(). Как правило useEffect - а хватает. useEffect происходит когда Dom уже отрисовался а useLayoutEffect блокирует отрисовку пока все не выполнит
Тоесть если у меня в useLayoutEffect будут асинхронные действия, Запрос например, то сначала будем ждать ответ с только потом обновление дома
Вот из доки. Что же делает useEffect? Используя этот хук, вы говорите React сделать что-то после рендера. React запомнит функцию (то есть «эффект»), которую вы передали и вызовет её после того, как внесёт все изменения в DOM. В этом эффекте мы устанавливаем заголовок документа, но мы также можем выполнить запрос данных или вызвать какой-нибудь императивный API.
Вот из доки. Что же делает useEffect? Используя этот хук, вы говорите React сделать что-то после рендера. React запомнит функцию (то есть «эффект»), которую вы передали и вызовет её после того, как внесёт все изменения в DOM. В этом эффекте мы устанавливаем заголовок документа, но мы также можем выполнить запрос данных или вызвать какой-нибудь императивный API.
UseEffect запускается ассинхронно(типа), т.е. вы отрендирились, реакт говорит, я запускаю UseEffect, но рендер уже есть, при useLayout реакт говорит, так, у себя я все изменения внес, давай выполним твой хук
UseEffect запускается ассинхронно(типа), т.е. вы отрендирились, реакт говорит, я запускаю UseEffect, но рендер уже есть, при useLayout реакт говорит, так, у себя я все изменения внес, давай выполним твой хук