firebaseApp.auth 不是函数(使用 Firebase 进行用户身份验证)

firebaseApp.auth is not a function (user authentication with Firebase)

我正在尝试使用 Firebase 为我的 React web 应用程序设置用户身份验证,但我 运行 遇到了 firebaseAuth.app() 函数的错误。我已经尝试在项目目录中重新安装 firebase 和 firebase admin,将导入转换为 SDK 9 语法,并对某些语句重新排序,但似乎没有任何效果。这是我的 App.js 文件:

import withFirebaseAuth from 'react-with-firebase-auth'
import firebase from 'firebase/compat/app';
import 'firebase/auth';

import firebaseConfig from './firebaseConfig';

import "firebase/compat/app";
import "firebase/compat/analytics";

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

const firebaseApp = firebase.initializeApp(firebaseConfig);

const firebaseAppAuth = firebaseApp.auth();
const providers = {
  googleProvider: new firebase.auth.GoogleAuthProvider(),
};

const {
  user,
  signOut,
  signInWithGoogle,
} = this.props;

function App() {
  return (
    <div className="App">
    <header className="App-header">
    <img src={logo} className="App-logo" alt="logo" />
    {
      user
        ? <p>Hello, {user.displayName}</p>
        : <p>Please sign in.</p>
    }
    {
      user
        ? <button onClick={signOut}>Sign out</button>
        : <button onClick={signInWithGoogle}>Sign in with Google</button>
    }
  </header>

    </div>
  );
}

export default withFirebaseAuth({
  providers,
  firebaseAppAuth,
})(App);

我有一个 firebaseConfig.js 文件以及配置信息。抱歉任何新手,因为我是 React 的新手。谁能帮忙解决这个错误?

尝试将所有导入更改为 compat 版本:

import withFirebaseAuth from 'react-with-firebase-auth'
import firebase from 'firebase/compat/app';
import 'firebase/compat/auth';
import "firebase/compat/app";
import "firebase/compat/analytics";

import firebaseConfig from './firebaseConfig';

我建议检查 upgrading to new Modular SDK 但我不确定它是否适用于 'react-with-firebase-auth' 或任何其他库。