这是我的FirebaseSetup.js
档案
import React from 'react';
import firebase from '@react-native-firebase/app';
import auth from '@react-native-firebase/auth';
const firebaseConfig = {
apiKey: "MyApi",
authDomain: "MyAuthDomain",
databaseURL: "DBurl",
projectId: "PID",
storageBucket: "...",
messagingSenderId: "...",
appId: "...."
}
if(!firebase.app.length){ //The Problem
firebase.initializeApp(firebaseConfig); //arises in
console.log('FireBase Initialized'); //these lines
}
console.log(`FIREBASE INSTANCES : => ${firebase.app.length}`);
export default () => {
return {firebase,auth}
}
当我评论上述行时,该应用程序运行正常,但未连接到我的firebaseDB
当我取消注释上面提到的行时,它会引发ERROR ....
FirebaseApp name [DEFAULT] already exists!
除了FIREBASE实例显示0
为长度。
Atlast我了解我自己无法初始化App ..为什么?
你必须通过以下方式检查Firebase应用程序的长度:
if (!firebase.apps.length) {
firebase.initializeApp(firebaseConfig);
}
请注意,该属性是复数形式,apps
而不是app
。
可以在此处找到更多信息:
https://rnfirebase.io/reference/app
请注意,app
和apps
均为有效属性,但实际上需要apps
一个属性,因为要检查的是数组的长度apps
。