1️⃣ 단계 : WHY 질문 & 멘탈 모델 가설 수립

나만의 멘탈 모델 (가설) 정리:

<aside> 💡

공식문서를 통해 드는 생각 (궁금증)

2️⃣ 단계 : DO (실전 적용 & 문제 해결)

Query Simple Example - StackBlitz

ME : URL을 일부러 잘못 전달해도 일정시간 loading이 걸리다가 error 가 표시된단 말이야. 왜 일정 시간의 간격이 있어?

GPT

원인 1: fetch() 자체가 비동기이고, response.ok 검사 이후에야 throw 되기 때문

queryFn: async () => {
  const response = await fetch(...); // ✋ 이 라인에서 fetch가 완료되기까지 기다림
  if (!response.ok) throw new Error(...); // ❗ 여기서야 error로 전환됨
  return await response.json();
}

fetch()는 실제로 네트워크 요청을 보내고, 응답을 받을 때까지 비동기 대기 시간이 발생합니다.

이 시간이 바로 loading 상태로 보이는 구간입니다.

원인 2: React Query의 retry 정책 (기본: 3회, 1초 간격)

React Query는 기본적으로 에러가 발생하면 자동으로 3번까지 재시도합니다.

→ 이때 error 상태로 전환되기 전에 로딩 상태가 유지됩니다.

⇒ 옹 이부분이 좀 신기한 것 같다. (근데 확실하진 않아서 더 보긴 해야할 것 같음 )