【发布时间】:2023-03-31 14:48:02
【问题描述】:
我启动了一个项目,在多个组件中导入 firebase 时出错。
在这个 firebase 启动文件中:
import firebase from 'firebase'
const firebaseConfig = {
apiKey: "fdsfsdfdsf",
authDomain: "fdsfdsfsdfdsf",
databaseURL: "sdfdsfdsf",
projectId: "dsfdsfdsf",
storageBucket: "dsfdsfdsf",
messagingSenderId: "dsfdsfsdfdsf"
}
const FbApp = firebase.initializeApp(firebaseConfig)
export default FbApp.auth()
然后在组件中:
import firebase from '../lib/firebaseClient'
使用单个组件效果很好,但如果我添加一个新组件:
import firebase from '../lib/firebaseClient'
申请失败:
FirebaseError:Firebase:名为“[DEFAULT]”的 Firebase 应用已存在 (app/duplicate-app)。
【问题讨论】:
-
您应该在您的应用程序初始化/引导方法中调用initializeApp(),这样它只会执行一次。不知道为什么 react/next 不止一次地完全调用导入;似乎是一个糟糕的模型,而且他们会以更有用的方式解决这个问题,所以在 react/next 方面也可能有解决方案。