fetch 상태는 로딩, 성공, 빈 결과, 에러로 갈라진다

성공 응답이어도 데이터가 비어 있으면 success와 다른 화면을 보여줘야 한다.

01 Loading 요청 중 대기 표시
02 Success data 있음 목록/상세 렌더
03 Empty 결과 없음 안내와 재검색
04 Error 실패 원인과 재시도
상태
조건
화면
loading
pending
skeleton
success
data length > 0
content
empty
data length === 0
empty state
error
reject/status fail
retry
핵심 요청 상태 전이는 사용자에게 지금 무엇을 할 수 있는지 알려주는 화면 계약이다.