Effect는 외부 시스템과 동기화할 때만 필요하다

렌더 계산과 사용자 이벤트를 effect로 우회하지 않으면 dependency 문제도 크게 줄어든다.

외부 시스템을 맞춰야 하는가?네트워크·DOM API·구독·타이머 여부를 묻는다
아니오 · 계산

렌더 중 계산

props와 state로 얻는 값은 바로 계산한다.

아니오 · 행동

이벤트 핸들러

클릭·제출 때문에 생긴 작업은 이벤트에서 처리한다.

예 · 연결

Effect

외부 연결을 setup하고 cleanup으로 대칭 정리한다.

예 · 데이터

전용 로더

라우터나 query 도구가 생명주기를 맡을 수 있는지 먼저 본다.

핵심effect가 읽는 모든 반응형 값은 dependency이며, 빼는 대신 코드 구조를 바꿔 의존성을 줄인다.