Skip to content

Commit 7013979

Browse files
authored
Merge pull request #13 from jthw1005/master
feat: staleTime, cacheTime 내용 보충
2 parents b6af09b + 42e7165 commit 7013979

1 file changed

Lines changed: 4 additions & 3 deletions

File tree

README.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -415,9 +415,10 @@ const { isLoading, isFetching, data, isError, error } = useQuery(
415415
- cacheTime은 staleTime과 관계없이, 무조건 inactive 된 시점을 기준으로 캐시 데이터 삭제를 결정한다.
416416
- cacheTime의 기본값은 `5분`이다.
417417

418-
- 여기서 주의할 점은 staleTime과 cacheTime의 기본값은 각각 `0분``5분`이다. 따라서 staleTime에 어떠한 설정도 하지 않으면 캐싱이 전혀 되지 않는다. 왜냐하면, 항상 캐싱 되어 있는 데이터가 `stale`하다고 여기기 때문이다.
419-
- staleTime을 길게 설정하더라도 cacheTime이 짧다면 이 또한 캐싱이 원활하게 진행되지 않을 것이다. 결국에는 두 개의 옵션을 적절하게 설정해줘야 한다.
420-
418+
- 여기서 주의할 점은 staleTime과 cacheTime의 기본값은 각각 `0분``5분`이다. 따라서 staleTime에 어떠한 설정도 하지 않으면 해당 쿼리를 사용하는 컴포넌트(Observer)가 mount됐을 때 매번 다시 API를 요청할 것이다.
419+
- staleTime을 cacheTime보다 길게 설정했다고 가정하면, staleTime만큼의 캐싱을 기대했을 때 원하는 결과를 얻지 못할 것이다. 즉, 두 개의 옵션을 적절하게 설정해줘야 한다.
420+
- 참고로, [TkDodo의 reply](https://github.com/TanStack/query/discussions/1685#discussioncomment-1876723)에 따르면 TkDodo는 'staleTime을 cacheTime보다 작게 설정하는 것이 좋다.'는 의견에 동의하지 않는다고 한다.
421+
- 예컨대, staleTime이 60분일지라도 유저가 자주 사용하지 않는 데이터라면 굳이 cacheTime을 60분 이상으로 설정하여 메모리를 낭비할 필요가 없다.
421422
<br />
422423

423424
### refetchOnMount

0 commit comments

Comments
 (0)