【发布时间】:2019-11-22 15:20:37
【问题描述】:
我正在尝试使用 React 和 Firebase 制作程序。我收到一个错误:
Firebase: Firebase App named '[DEFAULT]' already exists (app/duplicate-app).
如何只初始化一次以消除错误?我应该在其他地方初始化它吗?
我的代码:
import React from 'react';
import * as firebase from 'firebase';
import "firebase/app";
import "firebase/database";
function Login() {
var firebaseConfig = {
...
};
// Initialize Firebase
firebase.initializeApp(firebaseConfig);
function verify(){
var server = firebase.database().ref('servers/' + document.getElementById("code").value);
server.on('value', function(snapshot) {
if(snapshot.val() && snapshot.val().exist)
{
console.log(snapshot.val());
alert("sucsess");
} else{
alert("fail");
}
});
}
function checkEnter(event) {
if(event.key === 'Enter') {
verify();
}
}
return (
<div>
...
</div>
);
}
export default Login;
【问题讨论】:
-
很难在没有上下文的情况下判断,但如果我猜您的登录组件在某个时候重新渲染并重新初始化应用程序。也许尝试将您的初始化放在
componentDidMount或类似的地方以防止重复调用? -
我该怎么做?
-
您的Firebase APP好像初始化了两次。你的应用中的其他地方有
firebase.initializeApp(firebaseConfig)这样的东西吗? -
不。但是当我从登录回来时,我的程序中断了。它正在重新加载元素,我在其中初始化 firebase。
标签: javascript reactjs firebase