首页 > 解决方案 > 类型错误:_fire__WEBPACK_IMPORTED_MODULE_1__.default.auth 不是函数

问题描述

我是 React.js 的初学者。我正在按照教程进行登录身份验证。我从这部分代码中收到此错误(TypeError: fire__WEBPACK_IMPORTED_MODULE_1 _.default.auth is not a function):`

const authListener = () => {
    fire.auth().onAuthStateChanged((user) => {
      if (user) {
        clearInputs();
        setUser(user);
      } else {
        setUser("");
      }
    })
  };

` 我已经搜索了每个论坛、主题或 Youtube 视频,但仍然找不到答案。有人能告诉我问题出在哪里以及如何解决吗?欣赏一切。

标签: javascriptreactjsfirebasefirebase-authenticationjsx

解决方案


如果您使用的是模块化 SDK v9.0.0,请尝试像这样重构您的代码:

import { initializeApp } from "firebase/app"
import { getAuth, onAuthStateChanged } from "firebase/auth"

const app = initializeApp(app)
const auth = getAuth(app)

const authListener = () => {
  onAuthStateChanged(auth, (user) => {
    if (user) {
      console.log(user)
    }
  })
}

如果您想使用旧的命名空间语法 ( firebase.auth()),请将您的导入更改为兼容版本:

import firebase from "firebase/comapt/app"
import "firebase/compat/auth"

您可以在文档中阅读有关升级到模块化 SDK 的更多信息。


推荐阅读