代码之家  ›  专栏  ›  技术社区  ›  scarface764

React native:领域。用户未登录时,UserProvider回退组件未呈现

  •  0
  • scarface764  · 技术社区  · 2 年前

    我正在开发一个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
    }
    
    

    问题是,在用户未登录的应用程序的第一次呈现时,应该呈现回退组件“登录”,但这并没有发生。而是呈现应用程序组件。 有人能帮我理解我哪里出了问题吗?

    0 回复  |  直到 2 年前
    推荐文章