49 lines
1.3 KiB
JavaScript
49 lines
1.3 KiB
JavaScript
import { Provider } from 'react-redux';
|
|
import { BrowserRouter } from 'react-router-dom';
|
|
import { PersistGate } from 'redux-persist/integration/react';
|
|
import store, { persistor } from './store';
|
|
import Theme from '@/components/template/Theme';
|
|
import Layout from '@/components/layout';
|
|
import history from './history';
|
|
import './locales';
|
|
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
|
|
import { ReactQueryDevtools } from '@tanstack/react-query-devtools';
|
|
|
|
const queryClient = new QueryClient({
|
|
defaultOptions: {
|
|
queries: {
|
|
retry: 3,
|
|
cacheTime: 1000 * 60 * 5, // 5 minutes
|
|
staleTime: 2000, // 2 seconds
|
|
// refetchOnWindowFocus: false,
|
|
// refetchOnMount: false,
|
|
// refetchOnReconnect: false,
|
|
// refetchIntervalInBackground: false,
|
|
// refetchInterval: false,
|
|
|
|
onError: (error) => {
|
|
console.log(error);
|
|
}
|
|
},
|
|
},
|
|
});
|
|
|
|
function App() {
|
|
return (
|
|
<Provider store={store}>
|
|
<PersistGate loading={null} persistor={persistor}>
|
|
<QueryClientProvider client={queryClient}>
|
|
<BrowserRouter history={history}>
|
|
<Theme>
|
|
<Layout />
|
|
</Theme>
|
|
</BrowserRouter>
|
|
<ReactQueryDevtools initialIsOpen={false} />
|
|
</QueryClientProvider>
|
|
</PersistGate>
|
|
</Provider>
|
|
);
|
|
}
|
|
|
|
export default App;
|