reactquery] refetch

이름·2022년 12월 18일

ref;
https://thinkforthink.tistory.com/340
https://velog.io/@apro_xo/react-query-%EC%BA%90%EC%8B%B1feat.-refetch
https://velog.io/@yrnana/React-Query%EC%97%90%EC%84%9C-staleTime%EA%B3%BC-cacheTime%EC%9D%98-%EC%B0%A8%EC%9D%B4

stale time

meaning of stale default: 0

cache time

시간이 경과하면 gc에 의해 해제됨

default: 5min

stale time이 우선됨. 그래서 기본값으로 cache되지 않음

refetch

  refetchInterval,
  refetchIntervalInBackground,
  refetchOnMount,
  refetchOnReconnect,
  refetchOnWindowFocus,

query key에 react state를 포함시키고, state가 변경되면 refetch

refetchOnWindowFocus >> 데이터가 stale 상태일 경우 윈도우에 포커즈가 이동될 때 마다 refetch

refetchOnMount >> 마운트 될 때마다 refetch

refetchOnReconnect >> 연결이 끊어졌다가 재 연결 되었을 때 refetch

clientQuery.invalidateQueries() >> 고의로 쿼리 무효화를 했을 때 refetch, 서버 데이터를 변경한 후 새로운 데이터를 받아오기 위해 고의로 쿼리를 무효화 >> 데이터가 바로 stale 상태로 변경됨과 동시에 refetch 실행

명시적으로 refetch 함수를 호출 할 때

query key & invalideQuery

.

isFetching : 데이터가 fetch될 때 true, 캐싱 데이터가 있어서 백그라운드에서 fetch되더라도 true
isLoading : 캐싱된 데이터가 없을때 fetch 중에 true

profile
글 솜씨를 기르자!

0개의 댓글