useLayoutEffect에 대하여 알아봅시다.
자세히는 모르겠지만 뭔가 useEffect보다 먼저 실행될 것 같은 느낌이 듭니다.
테스트 코드를 작성해보면서 useEffect 와 useLayoutEffect 가 어떻게 다른지 알아봅시다!
많이 접하는 react hook의 useEffect 상황입니다.
이 때의 실행 순서는 이렇습니다.
<div>나는 입니다. 지금 이 먹고 싶습니다.</div>
를 페인트<div>나는 방루이입니다. 지금 초밥이 먹고 싶습니다.</div>
이렇게 간단한 DOM 구조라면 체감할 수 없겠지만, 조금만 화면이 복잡해지면 1번에서 3번의 과정에서 나는 입니다. 지금 이 먹고 싶습니다..
라는 텍스트를 오랫동안 볼 수도 있습니다.
하지만 useLayoutEffect라면?
거의 똑같은 구조지만 상황은 달라집니다. 실행순서는 이렇습니다.
<div>나는 방루이입니다. 지금 초밥이 먹고 싶습니다.</div>
를 페인트아무리 DOM 구조가 복잡해져도 더 이상 잠깐의 깜빡임도 볼 수 없을 것입니다.