cacheTime vs staleTime

Hyun·2022년 8월 14일
0

리액트 쿼리

목록 보기
3/3

cacheTime: 언마운트 된 이후로 캐싱한 데이터가 유실될때까지의 걸리는 시간, 유실되기전에 해당 페이지로 다시 돌아가면 데이터 살아있음.

staleTime: 마운트 된 이후로 캐싱한 데이터가 fresh 상태를 유지하는 시간, 언마운트되도 캐싱한 데이터는 staleTime 의 영향을 받음

1. cachetime 5분, 기본값으로 staletime 0초

  • 나갔다가 5분 이내에 들어올때
    isFetching 은 true 지만 isLoading 은 false
    (**isFetching 이 true 라는 뜻은 "api call 을 실행했다" 라는 뜻임)
  • 나갔다가 5분 초과해서 들어오면
    isLoading, isFetching 모두 true

2. cachetime 5분 & staletime 30초

  • 나갔다가 30초이내에 들어올때(fresh 상태, refetch 할 필요X)
    isLoading, isFetching 모두 false

  • 나갔다가 30초 초과~ 5분이내에 들어오면
    isLoading 은 false(캐싱된 데이터 있으므로), isFetching 은 true(stale 상태이므로)

  • 나갔다가 5분 초과해서 들어오면
    isLoading, isFetching 모두 true

staleTime 의 default time 은 0s 인데 가장 안전한 시간으로 백그라운드 refetch 에 실시간으로 동기화 한다는 뜻이기 때문이다.

profile
better than yesterday

0개의 댓글