Files
timeline-mobile/App.tsx

57 lines
1.4 KiB
TypeScript
Raw Normal View History

/**
* Timeline App
*
*
* React Native
*
* @author Timeline Team
* @date 2024
*/
import React from 'react';
import { StatusBar } from 'react-native';
import { SafeAreaProvider } from 'react-native-safe-area-context';
import { GestureHandlerRootView } from 'react-native-gesture-handler';
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
import AppNavigator from './src/navigation/AppNavigator';
// 创建 React Query 客户端
const queryClient = new QueryClient({
defaultOptions: {
queries: {
staleTime: 5 * 60 * 1000, // 5分钟
cacheTime: 10 * 60 * 1000, // 10分钟
retry: 2,
refetchOnWindowFocus: false,
},
},
});
/**
* App
*
*
* 1. GestureHandlerRootView -
* 2. SafeAreaProvider -
* 3. QueryClientProvider -
* 4. AppNavigator -
*/
const App: React.FC = () => {
return (
<GestureHandlerRootView style={{ flex: 1 }}>
<SafeAreaProvider>
<QueryClientProvider client={queryClient}>
<StatusBar
barStyle="dark-content"
backgroundColor="transparent"
translucent
/>
<AppNavigator />
</QueryClientProvider>
</SafeAreaProvider>
</GestureHandlerRootView>
);
};
export default App;