effect fetch

useEffect를 이용한 데이터 가져오기 훅 경계

useEffect 데이터 요청은 성공 응답 처리만으로 끝나지 않습니다. dependency 변화, 취소, 늦은 응답을 한 수명 주기로 설계합니다.

Deps

의존성 배열

요청 조건에 쓰는 id, query, option이 바뀔 때만 effect가 다시 실행되게 맞춥니다.

Cancel

요청 취소

AbortController나 stale flag로 늦게 도착한 응답이 최신 화면을 덮지 않게 합니다.

State

상태 전이

idle, loading, success, empty, error를 분리해 화면이 다음 행동을 알려 주게 합니다.

cleanup

unmount 뒤 setState가 실행되지 않는지 확인합니다.

race

빠른 입력 변경에서 이전 응답이 최신 데이터를 덮지 않아야 합니다.

retry

실패 메시지와 재시도 조건을 사용자 흐름 안에 둡니다.