首先,我浏览了我的代码,没有看到我可能不止一次初始化应用程序的地方(除非我遗漏了一些东西)。
我知道这个问题之前已经被问过并得到了回答,但我不确定如何将解决方案应用于我自己的代码,因为我刚刚开始使用 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
})
}
最佳答案
很容易解决
Initialize Firebase in Conditional Block.
if(!firebase.apps.length)
firebase.initializeApp(DB_CONFIG);
分析:如果我们 不会执行“初始化 Firebase”条件 block 内它只是得到对重新初始化感到困惑 至今。附加说明:这个问题是不相关 到配置组件,并且出于安全目的,我们应该尽量不泄露 Firebase 配置凭据。
关于javascript - Firebase 和 React js - Firebase : Firebase App named '[DEFAULT]' already exists (app/duplicate-app),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54055197/