[우아한 테크 세미나] React Query와 상태관리 2 : Caching, Synchronization

hzn·2023년 3월 14일
0

React Query

목록 보기
2/4
post-thumbnail

컨셉

React Query의 메모리 캐시

Query 상태 흐름 (Query의 라이프 사이클)

화면에 나타났다가 사라지는 경우

  • fetching - fresh - stale - inactive - deleted

화면에 나타났다가 사라졌다가 다시 나타나는 경우

  • fetching - fresh - stale - inactive - fetching - fresh - stale - inactive - deleted

fresh 상태에서 unmount 되는 경우...

  • 만일 staleTime을 길게 설정해서 아직 fresh 상태인 채로 unmount 됐다가 다시 mount 될 때까지 staleTime이 끝나지 않았다면?
    👉🏽 refetch 되지 않는다! (refetch는 stale 상태일 경우에만 일어난다)

기본 설정

  • staleTime : 기본값 0
  • cachTime : 기본값 5분 ( 60 * 5 * 1000 )
  • refetchOnMount, refetchOnWindowFocus, refetchOnReconnect : 기본값 true
  • retry : 기본값 3 / retryDelay : 기본값 exponentiall backoff function

기본값 적용했을 경우

React Query는 어디에서 값들을 관리할까?

  • 서로 다른 컴포넌트에서 같은 쿼리 키로 데이터를 불러올 때 : 불러오는 텀이 staleTime보다 짧으면 두 번째 컴포넌트가 데이터 불러올 때(마운트 될때 등) refetch 되지 않음..

참고 : QueryClient 내부 코드

그 외 공부할 만한 것들..

0개의 댓글