React Hook의 실행 시점과 순서

리액트의 각 Hook이 언제 실행되는지를 이해하고 적용하는 것은 컴포넌트의 동작을 예측 가능하게 만드는 데 중요합니다. 예를 들어, 'useEffect' Hook이 렌더링 후에 비동기적으로 실행된다는 사실을 이해하면, 이 Hook 내부에서 상태를 변경하는 작업 시 발생할 수 있는 잠재적인 문제를 미리 방지할 수 있습니다. 그렇다면 useState, useMemo, useEffect, useLayoutEffect는 어떤 순서로 실행될까요? 그 순서는 아래와 같습니다 1. useState, useMemo 2. useLayoutEffect 3. useEffect useState와 useMemo, 이 두 Hook은 컴포넌트 렌더링 단계에서 호출됩니다. 렌더링 단계에서 호출되어야, Linked List로 구현된 Hook의 특성을 활용해 호출 순서를 기억하고, 상태와 관련 메모이제이션된 값을 올바르게 유지할 수 있습니다. useLayoutEffect는 렌더링이 일어난 직후, 즉 DOM 업데이트가 일어나고 브라우저가 '레이아웃 단계'를 수행하기 전에 동기적으로 실행됩니다. 이는 Critical Rendering Path에서 'Paint' 단계 이전에 실행되는 것을 의미합니다. 동기적으로 실행되므로, 사용이 과도하면 UI 블로킹을 일으킬 수 있습니다. 마지막으로, useEffect는 브라우저가 Paint 단계 완료한 이후에 비동기적으로 실행됩니다. 화면이 완전히 그려진 후에 비동기적으로 실행되므로, useEffect 내의 작업이 렌더링에 영향을 주지 않습니다.

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2023년 7월 25일 오전 9:36

 • 

저장 121조회 4,553

댓글 3

함께 읽은 게시물

이력서에 쓰는 경험



... 더 보기

나는 가끔 조합형 한글의 아름다움에 대해 생각한다.


그 아름다움은 단순히 예쁜 글꼴이나 정갈한 종이 위의 자소 배열에서 끝나지 않는다. 진짜 매력은, 정밀한 정보 구조와 이산 수학적 규칙성 속에 숨어 있다.


... 더 보기

무기가 되는 일터의 질문들 (ft.마케터 숭 인터뷰)

... 더 보기

사용자가 공유한 콘텐츠

www.folin.co

사용자가 공유한 콘텐츠

< 스포티파이와 멜론, 같은 음악인데 왜 경험은 다를까? >

1. 엔터테인먼트 프로덕트의 본질은 콘텐츠다. 사용자는 콘텐츠를 소비하며 감정을 느낀다. 재미, 감동, 공포, 희열. 인간의 다양한 감정이 콘텐츠를 통해 꺼내진다.

... 더 보기

< 쿠팡의 창업자를 직접 보며 배운 것: 리더의 크기가 전부다 >

1

... 더 보기

 • 

댓글 1 • 저장 17 • 조회 1,504


PM이 이해하면 좋은 지표 개념

프로덕트 매니저(PM)로 일하면서 늘 지표 이야기를 듣게 됩니다. 대부분 PM은 선행지표(leading indicator)와 후행지표(lagging indicator)의 개념을 잘 이해하고 있습니다. 하지만 선행지표에 영향을 미치는 '인풋(input) 지표, '아웃풋(o

... 더 보기

 • 

댓글 1 • 저장 33 • 조회 1,243