import * as React from 'react'; import { StatusBar, Platform, StyleSheet, View } from 'react-native'; import { NavigationContainer, CommonActions } from '@react-navigation/native'; import { createStackNavigator, CardStyleInterpolators, } from '@react-navigation/stack'; import { UseAPIProvider } from '@umijs/use-request'; import './i18n'; // 在这里导入 i18n.js import { Provider as PaperProvider } from 'react-native-paper'; import { Provider } from '@ant-design/react-native'; import { ThemeProvider } from 'react-native-magnus'; import useModel from 'flooks'; import { useUpdateEffect } from '@umijs/hooks'; import { navigationRef } from './navigation/RootNavigation'; import useCachedResources from './hooks/useCachedResources'; import BottomTabNavigator from './navigation/BottomTabNavigator'; import BasicScreens from './navigation/BaseNavigator'; import Toast from './flooks/Toast'; import user from './flooks/User'; import request from './Utils/RequestUtils'; import theme from './constants/Theme'; import ThemeMagnus from './constants/ThemeMagnus'; const Stack = createStackNavigator(); export default function App() { const isLoadingComplete = useCachedResources(); // 初始化 Toast useModel(Toast, []); const { id } = useModel(user, ['id']); useUpdateEffect(() => { let initName = ''; if (id === 0) { // 未登录 initName = 'Login'; } // else if (__DEV__) { // initName = 'OrderDetail'; // } else if (id !== null) { // 已登录 initName = 'Home'; } if (initName) { navigationRef.current.dispatch( CommonActions.reset({ index: 0, routes: [ { name: initName, // name: 'PayOrder', }, ], }) ); } }, [id]); if (!isLoadingComplete) { return null; } else { return ( {Platform.OS !== 'ios' && ( )} {/* 基础功能页面 */} {BasicScreens(Stack.Screen)} ); } } const styles = StyleSheet.create({ container: { flex: 1, backgroundColor: '#fff', }, });