Web/Notepad
[useQuery] StaleTime , gcTime
리슨업
2024. 3. 21. 16:35
[StaleTime]
StaleTime은 데이터에 대한 frash 함을 나타내는 척도로 보면 되며 예로
useQuery에서
useQuery({
querykey : ['some-key' , 디펜던시 키 ] ,
queryFn : ()=>난함수(page) ,
staleTime : 10000
})
으로 지정하게되면 이는 10초 내는 신선도를 유지하는 데이터로 취급되며 재 요청하여도 아직 프래쉬한 데이터라 판단하고 캐싱된 데이터를 사용한다.
GcTime은 메모리의 가비지 컬렉터를 생각하면 이해가 편함
해당 시간이 지나면 데이터를 재 패칭하도록 삭제한다.
혹여나 전역 queryClient 인스턴스의 메서드인 prefetchQuery로 다음 진입페이지에 대한 데이터를 미리 패칭하여 캐싱한다고 하여도 staleTime이 지나면 진입 시에 캐싱한 데이터를 사용하지않고 재 패칭하게 된다.
prefetchQuery는 연속진입 시, 사용자 경험에 대한 향상이 우선되는 메서드로 생각하면 될것.
예상 진입로에 대한 데이터를 미리 창고에 넣어두는것 허나 예상진입로가 아니라면 재패칭하는것은 필수