Please thoroughly read the Important Defaults before reading this guide
This caching example illustrates the story and lifecycle of:
Let's assume we are using the default cacheTime
of 5 minutes and the default staleTime
of 0
.
useQuery(['todos'], fetchTodos)
mounts.['todos']
as the unique identifiers for that cache.staleTime
(defaults to 0
, or immediately).useQuery(['todos'], fetchTodos)
mounts elsewhere.useQuery(['todos'], fetchTodos)
query are unmounted and no longer in use.cacheTime
to delete and garbage collect the query (defaults to 5 minutes).useQuery(['todos'], fetchTodos)
mounts. The query immediately returns the available cached value while the fetchTodos
function is being run in the background to populate the query with a fresh value.useQuery(['todos'], fetchTodos)
unmounts.useQuery(['todos'], fetchTodos)
appear within 5 minutes.The latest TanStack news, articles, and resources, sent to your inbox.