You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Firebase Auth v9调用auth()报错Object(...) is not a function求助

问题原因

该报错由Firebase v9与v8版本的API不兼容导致,具体错误点如下:

  • 配置文件中导出的auth是getAuth()返回的Auth实例对象,本身不是可执行函数,不可用auth()的形式调用
  • Firebase v9采用模块化函数式API,不再支持v8版本auth.signInWithEmailAndPassword()这类实例链式调用写法,所有功能都需要单独导入对应的调用函数
修复方案

步骤1:调整signin.js导入逻辑

新增从firebase/auth包导入登录功能函数:

import { auth, database } from "../Firebase/firebase";
// 新增导入邮箱密码登录方法
import { signInWithEmailAndPassword } from "firebase/auth";

步骤2:修改登录调用逻辑

替换原有的链式调用写法,将auth实例作为第一个参数传入登录函数:

const submitForm = async (values) => {
  signInWithEmailAndPassword(auth, values.email, values.password)
    .then((userCredentials) => {
      props.history.push("/profile");
    })
    .catch((err) => {  
      setLoading(false);
    });
};

补充说明:后续使用其他Firebase Auth相关能力(比如邮箱注册、退出登录、第三方登录等)都遵循同一规则:先从firebase/auth导入对应功能函数,再将auth实例作为第一个参数传入执行即可。

内容的提问来源于stack exchange,提问作者Gregory

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 10:09:02