요청 중에는 이전 데이터와 새 요청의 관계를 정하고 중복 클릭을 막습니다.
fetch state matrix
로딩과 에러 처리는 데이터 요청의 가능한 화면을 빠짐없이 준비한다
loading, error, data, empty 상태를 분리하면 API 지연, 실패, 빈 결과, 재시도 상황에서 사용자에게 현재 상태를 설명할 수 있습니다.
네트워크 실패와 서버 오류를 메시지로 바꾸고 다시 시도할 동작을 제공합니다.
성공했지만 데이터가 없는 경우를 에러와 구분해 빈 상태 UI를 보여줍니다.
loading, error, data, empty 렌더 조건의 우선순위를 정합니다.
반복되는 fetch 상태는 useFetch 같은 커스텀 훅으로 묶습니다.
렌더링 예외는 Error Boundary로 화면 범위를 격리합니다.
실패 후 같은 요청을 다시 보낼 수 있습니다.