Framework
Version

React Example: React Native

tsx
import * as React from 'react' import { AppStateStatus, Platform } from 'react-native' import { NavigationContainer } from '@react-navigation/native' import { QueryClient, QueryClientProvider, focusManager, } from '@tanstack/react-query' import { useAppState } from './src/hooks/useAppState' import { MoviesStack } from './src/navigation/MoviesStack' import { useOnlineManager } from './src/hooks/useOnlineManager' function onAppStateChange(status: AppStateStatus) { // React Query already supports in web browser refetch on window focus by default if (Platform.OS !== 'web') { focusManager.setFocused(status === 'active') } } const queryClient = new QueryClient({ defaultOptions: { queries: { retry: 2 } }, }) export default function App() { useOnlineManager() useAppState(onAppStateChange) return ( <QueryClientProvider client={queryClient}> <NavigationContainer> <MoviesStack /> </NavigationContainer> </QueryClientProvider> ) } 
import * as React from 'react' import { AppStateStatus, Platform } from 'react-native' import { NavigationContainer } from '@react-navigation/native' import { QueryClient, QueryClientProvider, focusManager, } from '@tanstack/react-query' import { useAppState } from './src/hooks/useAppState' import { MoviesStack } from './src/navigation/MoviesStack' import { useOnlineManager } from './src/hooks/useOnlineManager' function onAppStateChange(status: AppStateStatus) { // React Query already supports in web browser refetch on window focus by default if (Platform.OS !== 'web') { focusManager.setFocused(status === 'active') } } const queryClient = new QueryClient({ defaultOptions: { queries: { retry: 2 } }, }) export default function App() { useOnlineManager() useAppState(onAppStateChange) return ( <QueryClientProvider client={queryClient}> <NavigationContainer> <MoviesStack /> </NavigationContainer> </QueryClientProvider> ) }