Reactjs 获得;应用程序未定义;应用后出错";Firebase:Firebase应用程序名为';[默认]';已存在(应用程序/重复应用程序)。”;错误修复
起初,我发现“Firebase:Firebase应用程序名为“[DEFAULT]”已经存在(应用程序/重复应用程序)。”错误。我在网上看到用“if(!firebase.apps.length){}”包装firebase初始化可以解决这个问题。现在我得到一个错误,说“应用程序未定义”。我如何解决这个问题Reactjs 获得;应用程序未定义;应用后出错";Firebase:Firebase应用程序名为';[默认]';已存在(应用程序/重复应用程序)。”;错误修复,reactjs,firebase,Reactjs,Firebase,起初,我发现“Firebase:Firebase应用程序名为“[DEFAULT]”已经存在(应用程序/重复应用程序)。”错误。我在网上看到用“if(!firebase.apps.length){}”包装firebase初始化可以解决这个问题。现在我得到一个错误,说“应用程序未定义”。我如何解决这个问题 import firebase from "firebase/app"; import "firebase/auth"; if (!firebase.ap
import firebase from "firebase/app";
import "firebase/auth";
if (!firebase.apps.length) {
const app = firebase.initializeApp({
apiKey: "process.env.REACT_APP_FIREBASE_API_KEY",
authDomain: "process.env.REACT_APP_FIREBASE_AUTH_DOMAIN",
projectId: "process.env.REACT_APP_FIREBASE_PROJECT_ID",
storageBucket: "process.env.REACT_APP_FIREBASE_STORAGE_BUCKET",
messagingSenderId: "process.env.REACT_APP_FIREBASE_MESSAGING_SENDER_ID",
appId: "process.env.REACT_APP_FIREBASE_APP_ID"
});
}
export const auth = app.auth();
export default app;
我这样解决了这个问题:
let firebaseApp ;
if (!firebase.apps.length) {
firebaseApp = firebase.initializeApp(firebaseConfig);
}
else {
firebaseApp = firebase.app(); // if already initialized, use that one
}
export const auth = app.auth();
export default app;
这里的问题是您正在定义const-app=…
,但它只为if
范围定义(这是它在js中的工作方式)。这就是为什么使用let
初始化变量,然后为其赋值