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

React Native APK真机登录报错:Cannot read property 'status' of undefined

真机登录报错‘Cannot read property 'status' of undefined’的排查方向
  • 网络连接与API地址问题
    模拟器能直接访问本地开发服务器(如localhost或10.0.2.2),但真机无法解析这类地址:

    • 若后端是本地服务,需将API地址替换为电脑的局域网IP,同时确保真机和电脑在同一WiFi下
    • 若为线上API,用真机浏览器直接访问API地址,确认网络能正常获取返回数据
  • SSL证书验证拦截
    线上API用自签名或未信任证书时,真机默认会拦截请求,导致无响应返回:

    • 开发阶段可临时禁用Android的SSL验证(仅调试用,上线必须恢复),在android/app/src/main/java/[你的包名]/MainApplication.java中添加对应代码关闭校验
    • 正式环境需配置合法的信任证书
  • Android网络权限缺失
    检查AndroidManifest.xml是否添加必要权限:

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    

    无网络权限时,真机无法发起请求,自然拿不到响应数据

  • 异步请求逻辑未处理失败场景
    报错本质是请求失败后,代码直接访问response.status但response为undefined。检查请求代码:

    • 用fetch或axios时,必须处理请求失败的情况(如超时、DNS解析失败)
    • 示例(fetch):
      fetch(apiUrl, options)
        .then(response => {
          if (!response) throw new Error('请求无响应');
          return response.json();
        })
        .catch(error => {
          console.error('请求失败:', error);
          // 这里可添加用户提示,比如"网络异常,请稍后重试"
        });
      
  • 真机与模拟器环境差异

    • 确保真机开启调试模式(摇一摇设备打开调试菜单),查看是否有其他隐藏报错
    • 清理项目缓存:运行npm start -- --reset-cache后,重新编译安装到真机

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 13:45:06