
- Fetch : API가 호출 되고 있을 때
- Fresh : API 로 부터 data가 도착한 상태 -> 굳이 다시 API를 다시 호출하지 않음
cache에 저장한 data를 들고옴.
- Stale : data의 유통기한이 끝난 상태 -> API 를 다시 호출
=> Frech 에서 바로 Fetch 되지 않음. 무조건 stale 상태 후 Fetch
=> API 호출을 느리게 하고 싶다면 API data 상태를 frexh 상태로 오래 두면 됨.
=> useQuery 의 기본 fresh 0
- Inactive : 더이상 이 query, cache 를 사용하지 않는 상태(=이때부터 cache가 카운트가 됨)
gc time 과 stale time의 차이점
- gc time : cache를 얼마나 오래 유지할지가 포커스
- stale time : API 호출을 언제할지가 포커스
- 만약 stale time > gc time 이면
data가 없으니 stale time이 되지 않아도 API 호출을 다시 함