TanStackT
TanStack8mo ago
5 replies
sacred-rose

useQuery not using stale data why?

I have the following code in my app

export const clientPersister = createSyncStoragePersister({ storage: clientStorage });
const queryClient = new QueryClient({
defaultOptions: {
queries: {
gcTime: 1000 * 60 * 60 * 24 * 7, // 7 days
retry: false,
networkMode: 'offlineFirst',
},
mutations: {
networkMode: 'offlineFirst',
},
/* mutations: {
onError: (error) => {
console.log('error ', error);
toast.error(error.message);
},
}, */
},
});
const persistOptions: Omit<PersistQueryClientOptions, 'queryClient'> = {
persister: clientPersister,
maxAge: 1000 * 60 * 60 * 24 * 7, // 7 days
};
export function QueryProvider({ children }: { children: React.ReactNode }) {
useOnlineManager();
useAppState(onAppStateChange);
return (
<PersistQueryClientProvider client={queryClient} persistOptions={persistOptions}>
{children}
</PersistQueryClientProvider>
);
}



When i initially run a query when users have internet I see my data, when I reload the app without internet i don’t see the data any more, i thought useQuery is going to use cached data even though it is no longer fresh and it hasn’t been garbage collected, please help? I also want to be able to refresh the data in case internet is restored
Was this page helpful?