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

React Native新手使用Axios调用REST API遇网络错误求助

解决React Native中Axios调用REST API出现Network Error的问题

我刚接触React Native时也踩过类似的Axios网络错误坑,尤其是状态码为0的情况,这种问题大多和跨域限制、网络配置或者API本身的要求有关,咱们一步步来排查解决:

1. 先确认API本身是否正常

  • 先在浏览器、Postman这类工具里直接调用这个新的REST API,看看能不能正常返回数据。如果这里就报错,那问题出在API端——比如服务器未启动、地址拼写错误、需要认证但没传头等。
  • 仔细核对你写的API地址:有没有把HTTP/HTTPS搞混?端口号、路径是不是都正确?

2. 检查React Native的平台网络配置

iOS端ATS限制

如果用的是iOS模拟器/真机,iOS默认会拦截非HTTPS的请求。如果你的API是HTTP协议,需要在项目的Info.plist里添加临时配置(正式上线建议改用HTTPS):

<key>NSAppTransportSecurity</key>
<dict>
  <key>NSAllowsArbitraryLoads</key>
  <true/>
</dict>

Android端权限缺失

打开AndroidManifest.xml,检查是否添加了必要的网络权限:

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

如果没加,补上后重新编译项目。

3. 排查Axios的请求配置

之前调用GitHub API正常,是因为它是标准的HTTPS接口,而新API可能有特殊要求:

  • 检查是否需要请求头:比如Content-Type、Authorization等,很多API需要指定这些才能正常访问。举个例子:
axios.get('你的API地址', {
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer 你的认证Token' // 如果API需要认证的话
  }
})
  • 如果API用的是自签名SSL证书,开发时可以临时关闭SSL验证(正式环境绝对不能这么做):
import https from 'https';

axios.get('你的API地址', {
  httpsAgent: new https.Agent({ rejectUnauthorized: false })
})
  • 如果你在公司内网环境,可能需要配置Axios的代理,或者给模拟器/真机设置网络代理。

4. 模拟器/真机的网络环境问题

  • 确保设备和API服务器在同一个局域网(比如同一个WiFi),如果是本地服务器,别用localhost,改用你的电脑局域网IP地址——因为模拟器的localhost指的是它自己,不是你的电脑。
  • 重启模拟器/真机试试,有时候网络缓存会导致莫名其妙的错误。

5. 排查Redux相关流程

你是跟着Redux教程开发的,也有可能是Redux的action、reducer或者middleware配置出了问题。可以先暂时去掉Redux,直接在组件里写个简单的Axios请求测试:

import axios from 'axios';
import { useEffect } from 'react';

// 在组件内测试
useEffect(() => {
  axios.get('你的API地址')
    .then(res => console.log('返回数据:', res.data))
    .catch(err => console.log('错误详情:', err))
}, [])

如果这个测试能成功,那问题就出在Redux流程里——比如action的payload传递错误、middleware配置有误等,再针对性排查即可。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 08:18:33