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

Expo Go + React Native + Firebase登录时突发auth/network-request-failed错误求助

Expo Go + React Native + Firebase登录时突发auth/network-request-failed错误求助

Hey 👋,看到你遇到了这个突发的auth/network-request-failed错误,而且是在调整了API Key的存储方式后出现的,我来帮你梳理下可能的原因和解决办法:

1. 先排查最基础的网络问题

这个错误的核心是网络请求失败,所以先从基础网络入手:

  • 确认运行Expo Go的设备和开发电脑处于同一稳定网络,没有开启VPN、代理或者防火墙拦截网络请求
  • 尝试切换网络环境(比如从WiFi切换到手机流量),测试是否能正常发起请求
  • 检查Firebase控制台项目所在区域的服务状态(虽然突发概率低,但偶尔区域服务波动也会导致这类问题)

2. 验证Firebase配置的有效性

你提到之前调整过API Key的存储方式,现在要确保配置完全正确:

  • 核对代码中的apiKey、authDomain等配置项,和Firebase控制台项目设置里的内容完全一致,没有拼写错误、字符遗漏或多余空格
  • 进入Firebase控制台的Authentication -> 设置 -> 授权域,确认你的authDomain已被添加,没有被误删
  • 检查Firebase项目的API Key是否设置了调用限制:如果之前为了安全限制了域名,但React Native/Expo属于移动应用,应该设置为不限制或允许所有移动应用调用

3. 清除Expo Go的缓存

Expo Go的缓存有时候会残留旧配置,导致新修改不生效:

  • 完全关闭Expo Go应用,重新打开后在终端按r键刷新项目
  • 执行expo r -c命令强制清除项目缓存,重新加载
  • 极端情况下可以删除项目的node_modules、package-lock.json,重新执行npm install后再启动项目

4. 检查Firebase Auth初始化逻辑

你的代码用了自定义持久化配置,这里可以做几个测试:

  • 确认@react-native-async-storage/async-storage已正确安装,且版本与Expo环境兼容(Expo内置了AsyncStorage,手动安装时要注意版本匹配)
  • 临时改用默认的Auth初始化方式,排除持久化导致的异常:
    // 临时替换原auth初始化代码测试
    import { getAuth } from "firebase/auth";
    export const auth = getAuth(app);
    

5. 检查Firebase SDK版本兼容性

SDK版本不匹配也可能导致突发的网络请求错误:

  • 查看package.json中firebase、@firebase/auth等相关依赖的版本,确保所有Firebase相关包的版本一致,没有版本差异过大的情况
  • 如果近期更新过Firebase SDK,尝试回退到之前能正常运行的版本

另外,建议在登录函数中添加更详细的错误日志,以便定位具体问题:

const signIn = async () => {
  try {
    const user = await signInWithEmailAndPassword(auth, email, password);
    if (user) router.replace('/(tabs)/home');
  } catch (error: any) {
    console.log('错误代码:', error.code);
    console.log('错误详情:', error.details); // 部分错误会携带更具体的信息
    alert('Sign in failed: ' + error.message);
  }
};

如果以上方法都无效,可以尝试创建一个全新的最小Expo项目,只集成Firebase Auth登录功能,验证是否能正常运行,以此排除项目其他代码或依赖的冲突。

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.08 14:38:04