React Native + Expo + iPhone-未处理的承诺拒绝:TypeError:网络请求失败

时间:2018-12-10 22:59:39

标签: react-native networking expo

我目前正在从事React Native / Expo项目,并且已经在Macbook上使用Simulator数月没有问题。该项目使用的是在端口3000上运行的Rails后端。最近几天,我一直在尝试使用Expo + iPhone在物理设备上实际运行该应用程序,但是我一直在拥有自己认为可以联网的功能问题。

  

[未处理的承诺被拒绝:TypeError:网络请求失败]   -onerror中的node_modules / react-native / node_modules / whatwg-fetch / fetch.js:441:29   -dispatchEvent中的node_modules / event-target-shim / lib / event-target.js:172:43

SO上还有其他帖子,它们说要确保将localhost更改为实际的机器IPv4地址,即IE:192.168.x.x,但我一直没有用。在网络实用程序中列出的IPv4地址与我通过npm run ios启动时Expo吐出的IP地址相同。

这里是我要拨打的电话:

signInUser: (username, password) => {
    return fetch(`${HOST_NAME}/users/sign_in`, {
      method: 'POST',
      headers: defaultHeaders,
      body: JSON.stringify({
        username: username,
        password: password,
      }),
    });
  }

由于我猜想有人会问,所以标题如下:

var defaultHeaders = {
  Accept: 'application/json',
  'Content-Type': 'application/json',
}

HOST_NAME将替换为http://192.168.x.x:3000,它再次是Expo在加载时提及的IP值,也是Network Utility中的IPv4地址。

通过手机浏览器访问http://192.168.x.x:19000时,我可以检索我的应用程序信息以及端口19001上的信息。

还有其他方法可以确认我应该用来与本地服务器通信的确切IP吗?

0 个答案:

没有答案