diff --git a/src/StackOneHub.tsx b/src/StackOneHub.tsx index 3697269..6d6bf73 100644 --- a/src/StackOneHub.tsx +++ b/src/StackOneHub.tsx @@ -12,7 +12,7 @@ import { applyTheme, } from '@stackone/malachite'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; -import { useEffect } from 'react'; +import { useEffect, useRef, useState } from 'react'; import { Hub } from './Hub'; import ErrorContainer from './shared/components/error'; import ErrorBoundary from './shared/components/errorBoundary'; @@ -59,17 +59,27 @@ export const StackOneHub: React.FC = ({ } }, [theme]); - const queryClient = new QueryClient({ - defaultOptions: { - queries: { - refetchOnWindowFocus: false, - retry: 1, - retryDelay: 500, - refetchOnMount: false, - retryOnMount: false, - }, - }, - }); + const [queryClient] = useState( + () => + new QueryClient({ + defaultOptions: { + queries: { + refetchOnWindowFocus: false, + retry: 1, + retryDelay: 500, + refetchOnMount: false, + retryOnMount: false, + }, + }, + }), + ); + const prevTokenRef = useRef(token); + useEffect(() => { + if (prevTokenRef.current !== token) { + prevTokenRef.current = token; + queryClient.clear(); + } + }, [token, queryClient]); if (!token) { return (