React 컴포넌트와 Effect 수명 주기

컴포넌트의 등장·갱신·제거와 effect의 실행·정리는 같은 시간축에서 읽어야 외부 연결이 남지 않습니다.

Mount

첫 렌더와 DOM 반영

컴포넌트가 처음 나타나고 초기 props와 state로 화면을 만듭니다.

Effect

외부 연결 시작

DOM 반영 뒤 데이터 요청, 타이머, 구독, 이벤트 리스너를 설정합니다.

Update

deps 변화

props나 state가 바뀌고 의존성 값이 달라지면 effect를 다시 실행합니다.

Cleanup

이전 연결 정리

재실행 직전 이전 타이머·구독·요청을 끊어 두 효과가 겹치지 않게 합니다.

Unmount

최종 정리

화면에서 사라질 때 마지막 cleanup을 실행해 외부 자원을 남기지 않습니다.

핵심effect에서 외부 시스템과 연결했다면 반환한 cleanup에서 정확히 반대 동작으로 연결을 끊습니다.