데이터 페칭은 요청 생명주기를 상태 전이로 관리한다

요청 시작, 성공, 실패, 취소를 명시적인 전이로 두면 UI 분기와 재요청 처리가 단순해진다.

01 Start loading=true 이전 오류 초기화
02 Resolve data 저장 success
03 Reject error 저장 error UI
04 Retry/Abort 다시 요청/취소 상태 정리
전이
state 변경
주의
start
loading on
중복 요청
success
data set
빈 결과 처리
error
error set
메시지 노출
abort
요청 무효화
늦은 응답 무시
핵심 fetch 상태는 요청 결과보다 화면이 지금 무엇을 보여줘야 하는지에 맞춰 나눈다.