React Native Expo localhost请求在Android模拟器上不起作用

时间:2019-08-09 15:44:13

标签: react-native android-emulator react-native-android expo

我只是使用“ fetch”将GET请求发送到我的本地主机API,但是它显示网络失败。它可以将GET请求发送到其他非本地主机网站。

我想知道访问我的本地主机API的方法。环境是我使用NativeBase并由Expo在Android模拟器上运行。而Expo连接是LAN。

谢谢。

2 个答案:

答案 0 :(得分:0)

您可以在运行时使用expo-constants模块的清单来获取IP地址。

如果您没有安装此模块,请运行expo install expo-constants

import Constants from 'expo-constants';
const { manifest } = Constants;
...
const uri = `http://${manifest.debuggerHost
  .split(`:`)
  .shift()
  .concat(`:1000`)}`; // Switch to the port you use. ex)localhost:3000 => .concat(`:3000`)}

答案 1 :(得分:0)

您必须使用ip而不是localhost:

对于Windows:ipconfig(IP地址) 对于Mac:networksetup -getinfo Wi-Fi(IP地址)

该请求将是这样的:

axios.get('http://192.168.0.34')

我建议使用axios进行本机反应