Javascript Firebase应用程序名为';[默认]';已经存在的反应
我是React的初学者,目前我正在尝试将我的第一个应用程序连接到Firebase数据库 我有两个文件。第一个是config.js文件,其中存储了有关数据库的所有信息,如下所示:Javascript Firebase应用程序名为';[默认]';已经存在的反应,javascript,reactjs,firebase,Javascript,Reactjs,Firebase,我是React的初学者,目前我正在尝试将我的第一个应用程序连接到Firebase数据库 我有两个文件。第一个是config.js文件,其中存储了有关数据库的所有信息,如下所示: `export default { apiKey: "***", authDomain: "***", databaseURL: "***", projectId: "***", storageBucket: "***", messagingSenderId: "***"
`export default {
apiKey: "***",
authDomain: "***",
databaseURL: "***",
projectId: "***",
storageBucket: "***",
messagingSenderId: "***"
};`
还有我的另一个文件App.js:
`import React, { Component } from 'react';
import './App.css';
//Firebase
import * as firebase from 'firebase';
import config from 'firebase';
class App extends Component {
constructor () {
super()
this.state = { loading: true }
firebase.initializeApp(config)
}
componentWillMount () {
const capsRef = firebase.database().ref('Capsules')
capsRef.on('value', snapshot => {
this.setState({
Capsules: snapshot.val(),
loading: false
})
})
}
render () {
if (this.state.loading) {
return (
<p>Je suis en train de charger.</p>
)
}
const capsRef = Object.keys(this.state.tweets).map(key => {
return <p key={key}>{this.state.Capsules[key].designation}</p>
})
return (
<div>
<h1>Test</h1>
</div>
)
}
}
export default App;`
`import React,{Component}来自'React';
导入“/App.css”;
//火基
从“firebase”导入*作为firebase;
从“firebase”导入配置;
类应用程序扩展组件{
构造函数(){
超级()
this.state={loading:true}
firebase.initializeApp(配置)
}
组件将安装(){
const capsRef=firebase.database().ref('Capsules')
capsRef.on('value',快照=>{
这是我的国家({
胶囊:snapshot.val(),
加载:错误
})
})
}
渲染(){
if(this.state.loading){
返回(
我是一辆火车的司机
)
}
const capsRef=Object.keys(this.state.tweets.map)(key=>{
return{this.state.Capsules[key].designation}
})
返回(
试验
)
}
}
导出默认应用程序`
因此,当我刷新浏览器时,出现一条错误消息:“Firebase:Firebase应用程序名为“[默认]”(应用程序/重复应用程序)已存在。”
有人能帮我吗?
一个星期以来,我一直在寻找自己的解决方案。如果没有看到您的代码,很难判断,但您可以尝试:
if (!firebase.apps.length) {
firebase.initializeApp(config);
}
在您的配置文件中 不看代码很难判断,但您可以尝试:
if (!firebase.apps.length) {
firebase.initializeApp(config);
}
在您的配置文件中 当您一次又一次尝试初始化firebase时,会发生此错误。它应该立即初始化,并用于避免名为“[默认]”的Firebase应用程序已经存在。您必须更改初始化样式
try {
firebase.initializeApp({
apiKey: "FULL_API_KEY_PUT_HERE",
authDomain: "FULL_AUTHDOMAIN_PUT_HERE",
databaseURL: "https://FULL_databaseURL_PUT_HERE.com",
storageBucket: "FULL_storageBucket_PUT_HEREappspot.com",
})
} catch (err) {
// we skip the "already exists" message which is
// not an actual error when we're hot-reloading
if (!/already exists/.test(err.message)) {
console.error('Firebase initialization error raised', err.stack)
}}
当您一次又一次尝试初始化firebase时,会发生此错误。它应该立即初始化,并用于避免名为“[默认]”的Firebase应用程序已经存在。您必须更改初始化样式
try {
firebase.initializeApp({
apiKey: "FULL_API_KEY_PUT_HERE",
authDomain: "FULL_AUTHDOMAIN_PUT_HERE",
databaseURL: "https://FULL_databaseURL_PUT_HERE.com",
storageBucket: "FULL_storageBucket_PUT_HEREappspot.com",
})
} catch (err) {
// we skip the "already exists" message which is
// not an actual error when we're hot-reloading
if (!/already exists/.test(err.message)) {
console.error('Firebase initialization error raised', err.stack)
}}
你能显示你的配置文件吗?你好,科林,非常感谢你的帮助!在我的配置文件中,我只是让我的数据库信息完全像我的第一篇文章一样写入。你需要确保
initializeApp
只调用一次。你能显示你的配置文件吗?你好,科林,非常感谢你的帮助!在我的配置文件中,我只是让我的数据库信息完全像在我的第一篇文章中那样写入。您需要以某种方式确保只调用一次initializeApp
。我有一个类似的问题。在我的应用程序中,我用两种不同的配置初始化Firebase两次,因为我想连接到两个不同的项目(实时数据库)。可能吗?如果是,解决方法是什么?我也有类似的问题。在我的应用程序中,我用两种不同的配置初始化Firebase两次,因为我想连接到两个不同的项目(实时数据库)。可能吗?如果是,解决方法是什么?谢谢