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

TypeError:无法读取未定义的js引擎的属性“getReactNativePersistence”:hermes?

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

    第一次,很长时间。我正在构建一个基于Signal的移动聊天应用程序,我正在使用Expo Go和Firebase。我使用ExpoGo移动应用程序开发它,但当我想在本地web服务器上打开它时,我需要向firebase.js文件添加一些逻辑。我收到了以下错误,我不知道该怎么办。我找不到如何使用firebase文档调用getReactNativePersistence。

    以前有人见过这个问题吗?

    错误类型错误:无法读取未定义的js-engine:hermes的属性“getReactNativePersistence”
    错误不变冲突:“main”尚未注册。如果出现以下情况,则可能发生这种情况:\

    • Metro(本地开发服务器)是从错误的文件夹中运行的。检查Metro是否正在运行,在当前项目中停止并重新启动它。
    • 由于错误和 AppRegistry.registerComponent 没有被呼叫。,js引擎:hermes

    这是firebase.js文件:

    import { initializeApp } from 'firebase/app';
    import {
        firebaseAuth,  
        signInWithEmailAndPassword,
     } from 'firebase/auth';
    import { getFirestore } from 'firebase/firestore';
    import AsyncStorage from '@react-native-async-storage/async-storage';
    
    const firebaseConfig = {
       # firebase config
    };
    
    const app = initializeApp(firebaseConfig);
    let auth;
    
    if (typeof document !== 'undefined') {
        // Web environment
        auth = firebaseAuth.getAuth(app);
        firebaseAuth.setPersistence(auth, firebaseAuth.browserSessionPersistence);
    } else {
        // React Native environment
        const reactNativePersistence = firebaseAuth.getReactNativePersistence;
        auth = firebaseAuth.initializeAuth(app, {
          persistence: reactNativePersistence(AsyncStorage)
        });
    }
    
    const db = getFirestore(app);
    
    // Exporting the necessary Firebase services and functions
    export { db, auth, signInWithEmailAndPassword };
    
    

    我使用chatgpt来帮助我排除故障,是的,它尝试了机器人,使用它解决了问题,但这更多的是一个警告。但现在我不确定发生了什么。停止应用程序运行。

    这是在进行更改之前的文件。

    import * as firebase from "firebase";
    import "firebase/firestore";
    import "firebase/auth";
    
    // Initialize Firebase
    const firebaseConfig = {
      # firebase set up
    };
    
    let app;
    if (firebase.apps.length === 0) {
      app = firebase.initializeApp(firebaseConfig);
    } else {
      app = firebase.app();
    }
    
    const db = app.firestore();
    const auth = firebase.auth();
    
    export { db, auth };
    
    0 回复  |  直到 2 年前