QueryClient
TanStack Queryのcore部分
reactに依存せずに、cache部分の管理などをしている
hooksなどを介さずに、直接cacheを操作したい時に使う
docs
実装箇所
useQueryClient
#WIP
https://tkdodo.eu/blog/effective-react-query-keys#always-use-array-keys
queryClient.invalidateQueriesとqueryClient.resetQueriesの違い
staleTimeを消化するか、cacheTimeを消化するかの違い
いずれもrefetchされることになるが、
前者の場合、refetch中に古いデータが表示され続け、fetch後に更新される
後者の場合、refetch中にloadingなどが表示され続け、fetch後に更新される
queryClient.invalidateQueries
queryClient.resetQueries
queryClient.fetchQuery
queryClient.fetchInfiniteQuery
queryClient.prefetchQuery
queryClient.prefetchInfiniteQuery
queryClient.getQueryData
queryClient.getQueriesData
queryClient.setQueryData
queryClient.getQueryState
queryClient.setQueriesData
queryClient.refetchQueries
https://tanstack.com/query/v4/docs/reference/QueryClient#queryclientrefetchqueries
queryClient.cancelQueries
queryClient.removeQueries
keyに該当するqueryを全て削除
logoutの実装のときとかに使える
queryClient.clear
すべてのqueryを削除する
これは引数を取らない
queryClient.removeQueriesと異なる点
queryClient.isFetching
queryClient.isMutating
queryClient.getDefaultOptions
queryClient.setDefaultOptions
queryClient.getQueryDefaults
queryClient.setQueryDefaults
queryClient.getMutationDefaults
queryClient.setMutationDefaults
queryClient.getQueryCache
queryClient.getMutationCache