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

Expo React Native集成Firebase GoogleSignIn遇auth导入错误求助

解决@react-native-firebase/auth导入auth对象的错误

1. 确认依赖安装与初始化是否正确

  • 确保已安装@react-native-firebase/app和@react-native-firebase/auth,并完成Expo配置:
    npx expo install @react-native-firebase/app @react-native-firebase/auth
    
  • 检查app.json的plugins字段是否添加了Firebase相关配置:
    "plugins": [
      "@react-native-firebase/app",
      "@react-native-firebase/auth"
    ]
    
  • 清除缓存并重启开发服务器:
    npx expo start --clear
    

2. 尝试正确的导入方式

不同版本的包导入逻辑有差异,试试以下几种写法:

方式一:从auth包直接导入auth函数

import { auth } from '@react-native-firebase/auth';

// 初始化auth实例
const authInstance = auth();

方式二:从firebase app实例获取auth

import firebase from '@react-native-firebase/app';

const authInstance = firebase.auth();

方式三:默认导入auth模块

import auth from '@react-native-firebase/auth';

const authInstance = auth();

3. 检查包版本兼容性

  • 查看package.json中@react-native-firebase/app和@react-native-firebase/auth的版本是否一致,版本不匹配会导致此类错误。若不一致,升级/降级到相同版本:
    npm install @react-native-firebase/app@x.x.x @react-native-firebase/auth@x.x.x
    
    替换x.x.x为对应稳定版本号,建议使用最新兼容版本。

4. 适配Expo运行环境

  • 确认Expo SDK版本与@react-native-firebase包版本兼容,参考官方版本对应关系。
  • Expo Go不包含原生Firebase模块,若使用Expo Go测试,需改用自定义开发客户端:
    npx eas build --profile development --platform android/ios
    

5. 排查代码时序问题

  • 避免在组件挂载前直接调用auth对象,确保初始化完成后再使用,比如在useEffect中执行:
    import { useEffect } from 'react';
    import { auth } from '@react-native-firebase/auth';
    
    function LoginScreen() {
      useEffect(() => {
        const authInstance = auth();
        // 后续登录逻辑
      }, []);
      // ...
    }
    
  • 检查是否存在拼写错误,比如误写为Auth等。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 22:35:03