javascript - Firebase 和 React js - Firebase:名为“[DEFAULT]”的 Firebase 应用程序已存在(应用程序/重复应用程序)
问题描述
首先,我浏览了我的代码,没有看到我可能不止一次初始化应用程序的地方(除非我遗漏了一些东西)。
我知道这个问题之前已经被问过并得到了回答,但我不确定如何将解决方案应用于我自己的代码,因为我刚刚开始使用 Firebase。
我得到的错误是:名为“[DEFAULT]”的 Firebase 应用程序已经存在(app/duplicate-app)。
这是我的配置组件:
export const DB_CONFIG = {
apiKey: "AIzaSyDj_UQoRkOWehv-Ox2IAphOQPqciE6jL6I",
authDomain: "react-notes-38f8a.firebaseapp.com",
databaseURL: "https://react-notes-38f8a.firebaseio.com",
projectId: "react-notes-38f8a",
storageBucket: "react-notes-38f8a.appspot.com",
messagingSenderId: "1063805843776"
};
这是 App.js
constructor(props){
super(props);
this.app = firebase.initializeApp(DB_CONFIG);
this.database = this.app.database().ref.child('notes')
this.state = {
notes: [
],
}
}
componentWillMount(){
const previousNotes = this.state.notes;
this.database.on('child_added', snap => {
previousNotes.push({
id: snap.key,
noteContent: snap.val().noteContent
})
})
this.setState({
notes: previousNotes
})
}
解决方案
很容易解决
在条件块中初始化 Firebase。
if(!firebase.apps.length)
firebase.initializeApp(DB_CONFIG);
分析:如果我们不在条件块内执行“Initializing Firebase” ,那么到目前为止它只会被重新初始化弄糊涂。
附加说明:此问题与配置组件无关,出于安全目的,我们应尽量不要泄露 Firebase 配置凭据。
推荐阅读
- node.js - TypeError: View 不是构造函数 EJS
- python - 对新传入数据使用散列技巧
- c# - PDFBox 没有嵌入所有字体
- java - 特拉维斯构建失败的java
- c++ - LNK 2038:使用 #include 时 RuntimeLibrary 不匹配
- javascript - jQuery / Javascript - 检测 WooCommerce 商店通知 html 是否可见
- php - Postgres 中的用户权限
- asp.net - asp.net core 2,身份 w/windows 身份验证,但数据库管理角色
- go - 努力用 gogradle 编译 go 项目
- android - Android Studio 使状态栏背景完全透明并更改图标颜色