Warm tip: This article is reproduced from serverfault.com, please click

reactjs-Firebase引发错误FirebaseApp名称[DEFAULT]已存在

(reactjs - Firebase throws ERROR FirebaseApp name [DEFAULT] already exists)

发布于 2020-11-28 10:11:14

这是我的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 ..为什么?

Questioner
Kavinkumar . N
Viewed
0
Emanuele Scarabattoli 2020-11-28 19:15:21

你必须通过以下方式检查Firebase应用程序的长度:

if (!firebase.apps.length) {
  firebase.initializeApp(firebaseConfig);
}

请注意,该属性是复数形式,apps而不是app

可以在此处找到更多信息:

https://rnfirebase.io/reference/app

请注意,appapps均为有效属性,但实际上需要apps一个属性,因为要检查的是数组的长度apps