我正在开发一个react原生expo应用程序,并安装了realm来实现mongo-db登录。
我的代码是:
应用程序:
import { StatusBar } from 'expo-status-bar';
import { Text, View } from 'react-native';
import AppWrapper from './src/AppWrapper';
import { SYNC_CONFIG } from './src/configs/sync.config';
export default function App() {
return (
<AppWrapper appId={SYNC_CONFIG.appId}/>
);
}
AppWrapper.tsx:
import React from 'react';
import { AppProvider, UserProvider } from '@realm/react';
import { SafeAreaView } from 'react-native';
import { RealmProvider } from '@realm/react';
import { OpenRealmBehaviorType, OpenRealmTimeOutBehavior } from 'realm';
import Login from './screens/Login';
import App from './screens/App';
export const AppWrapper: React.FC<{
appId: string;
}> = ({ appId }) => {
return (
<SafeAreaView className={'flex-1 bg-emerald-900'}>
<AppProvider id={appId}>
<UserProvider fallback={<Login />}>
<App/>
</UserProvider>
</AppProvider>
</SafeAreaView>
);
};
export default AppWrapper;
package.json:
{
"name": "pulsefit",
"version": "1.0.0",
"main": "node_modules/expo/AppEntry.js",
"scripts": {
"start": "expo start",
"android": "expo start --android",
"ios": "expo start --ios",
"web": "expo start --web"
},
"dependencies": {
"@realm/react": "^0.6.2",
"expo": "~49.0.15",
"expo-status-bar": "~1.6.0",
"nativewind": "^2.0.11",
"react": "18.2.0",
"react-native": "0.72.6",
"realm": "^12.5.1"
},
"devDependencies": {
"@babel/core": "^7.20.0",
"@types/react": "~18.2.14",
"tailwindcss": "^3.3.2",
"typescript": "^5.1.3"
},
"private": true
}
问题是,在用户未登录的应用程序的第一次呈现时,应该呈现回退组件“登录”,但这并没有发生。而是呈现应用程序组件。
有人能帮我理解我哪里出了问题吗?