Firebase有时连接,有时不连接(React Native)

Firebase sometimes connecting, sometimes not connecting (React Native)

本文关键字:React Native 连接 Firebase 不连接      更新时间:2023-09-26

我有一个非常困惑的问题。我一直在使用Firebase与React Native,这一直工作得很好,但最近有时当我启动应用程序它连接,有时当我这样做它不..

我认为这可能与我连接数据库的方式有关。我在一个简单的javascript文件中这样做,然后当我想引用数据库时,我在整个应用程序的不同视图上调用。我真的不确定如何在不不断重新初始化的情况下做到这一点,所以我想我可以做一次,并将其存储在一个变量中。

下面是我用来初始化的代码。没有什么特别的…就是说要使用的(显然为了这篇文章的缘故删除了密钥文件的东西):

console.log("Global Variable File!")
console.log("This is also where all of our intialization stuff is")
//Connection Stuff
const firebase = require("firebase");

 const firebaseConfig = {
    apiKey: "",
    authDomain: "",
    databaseURL: "",
    storageBucket: "",
  };
const firebaseObject = firebase.initializeApp(firebaseConfig);
console.log("===Firebase Intialized===");
//TODO - Remove me
firebaseObject.database().ref().child('testConnect').push({ title: "Summer2016" });

module.exports = {
  firebaseObject
}
我推送一个对象只是为了验证我的连接,有时它会被添加到数据库中。有时它不会。我还在整个应用程序中引用数据库。有时工作,有时不

我怀疑这是与react native或我试图在多个文件中使用相同对象的方式有关。但我真的不知道该怎么做。

谢谢你的帮助!

我遇到了同样的问题,似乎配置不应该在模块级别处理,而是一旦应用程序准备好就执行。您可以在稍后手动触发的方法中设置配置。因为记住调用这个方法可能会很繁琐,所以我为database ref提供了一个小包装,以便在第一次调用firebase.database()构造函数时自动初始化应用程序:

database.js

import * as Firebase from 'firebase'
let HAS_INITIALIZED = false
const initFirebase = () => {
    if (!HAS_INITIALIZED) {
        const config = {
            apiKey: "**************",
            authDomain: "************",
            databaseURL: "*********",
            storageBucket: "*********",
        }
        Firebase.database.enableLogging(true)
        Firebase.initializeApp(config)
        HAS_INITIALIZED = true
    }
}
export const getDatabase = () => {
    initFirebase()
    return Firebase.database()
}

whatever-file-you-want.js

import { getDatabase } from './database'
getDatabase().ref('...') // etc.