feat: 初始化移动端项目基础结构
添加项目基础配置和核心功能模块: - 配置 TypeScript 和 React Native 环境 - 实现认证状态管理 - 封装 API 请求客户端 - 搭建应用导航框架
This commit is contained in:
56
App.tsx
Normal file
56
App.tsx
Normal file
@@ -0,0 +1,56 @@
|
||||
/**
|
||||
* 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;
|
||||
Reference in New Issue
Block a user