如何在 React JS 中正确导入 firebase 模块以初始化应用程序

How to properly import firebase module in React JS to initializeApp

我正在尝试初始化一个 firebase 应用程序,但我不知道如何或在哪里调用它。

我有一个文件名 fire.tsx,里面有一个对 firebase 的 initializeApp 的调用。但现在呢?如何将其包含在我的应用程序中?

我以为只需将 import { firebaseApp, firebaseAnalytics } from './fire'; 添加到 App.tsx 的顶部就可以了,但显然不行。我做错了吗?

import firebase from "firebase";
import "firebase/auth";
import { initializeApp } from "firebase/app";
import { getAnalytics } from "firebase/analytics";


const firebaseConfig = {
  apiKey: "xxx-xx-xx",
  authDomain: "xxx-xx-xx",
  databaseURL: "xxx-xx-xx",
  projectId: "xxx-xx-xx",
  storageBucket: "xxx-xx-xx",
  messagingSenderId: "xxx-xx-xx",
  appId: "xxx-xx-xx",
  measurementId: "xxx-xx-xx"
};

const firebaseApp = initializeApp(firebaseConfig); 
export default firebaseApp;

export const firebaseAuth = firebase.auth();

export const firebaseAnalytics = getAnalytics(); 

App.tsx

import { firebaseApp, firebaseAnalytics } from './fire';

仅使用新的模块化 SDK,因为在未来的更新中将删除兼容版本。尝试以这种方式重构代码:

import { initializeApp } from "firebase/app";
import { getAuth } from "firebase/auth";
import { getAnalytics } from "firebase/analytics";


const firebaseConfig = {
  apiKey: "xxx-xx-xx",
  authDomain: "xxx-xx-xx",
  databaseURL: "xxx-xx-xx",
  projectId: "xxx-xx-xx",
  storageBucket: "xxx-xx-xx",
  messagingSenderId: "xxx-xx-xx",
  appId: "xxx-xx-xx",
  measurementId: "xxx-xx-xx"
};

const firebaseApp = initializeApp(firebaseConfig); 

export const firebaseAuth = getAuth(firebaseApp);
export const firebaseAnalytics = getAnalytics(firebaseApp); 

新的模块化 SDK 会检查是否已创建默认实例,因此您不必像以前的版本那样。