React Native中Firebase Auth的signInAnonymously()报错TypeError如何解决?
解决React Native中Firebase Auth signInAnonymously()的TypeError问题
核心问题原因
你使用的是Firebase v9+的模块化API,但代码写法沿用了v8的传统命名空间风格——signInAnonymously并非Auth实例的内置方法,而是需要单独导入的独立函数,直接调用FIREBASE_AUTH.signInAnonymously()自然会触发"undefined is not a function"错误。
修复步骤
1. 修正导入与调用逻辑
首先从firebase/auth中导入signInAnonymously函数:
import { getAuth, signInAnonymously } from "firebase/auth";
然后修改登录函数,将Auth实例作为参数传入signInAnonymously:
const handleOnBoarding = () => { signInAnonymously(FIREBASE_AUTH) .then(() => { console.log("User signed in anonymously"); }) .catch((error) => { console.error(error); }); };
2. 额外检查项
- 开启匿名登录权限:登录Firebase控制台,进入目标项目 → 认证 → 登录方法,确认"匿名"登录选项已启用。
- 验证依赖完整性:执行
npm list firebase或yarn list firebase检查包版本,若存在版本不一致或缺失情况,重新安装依赖:
npm install firebase # 或 yarn add firebase
- 确认初始化正确性:检查
FIREBASE_AUTH是否通过getAuth(FIREBASE_APP)正确初始化,无拼写错误或导出异常。
内容的提问来源于stack exchange,提问作者David Henry
相关产品推荐
相关产品推荐

