在本机反应中,提取操作无法在实际设备上运行

时间:2019-06-27 10:56:58

标签: react-native flask react-native-android

所以我有一个函数,当单击按钮时起作用,并且在该函数内部,有一个fetch方法将一些数据发布到后端(烧瓶) 当我使用真正的android设备(注释9和注释3)时,它什么也不会发布,也没有出现任何错误,同时android模拟器可以正常工作并发布数据。

我为该问题找到的解决方案是使用内部IP地址而不是localhost。但这对我也不起作用。如果我使用localhost或127.0.0.1,则会收到“网络请求失败”。我也尝试使用axios,但得到了相同的结果。

  getloc = () => {
   setInterval(() => {
   fetch("http://192.168.1.107:5000/api/echo", {
    method: "POST",
    headers: {
      Accept: "application/json",
      "Content-Type": "application/json"
    },
    body: JSON.stringify({
      x: "0",
      y: "0"
    })
  })
    .then(response => response.json())
    .then(responseJson => {
      this.setState({
        xMaster: responseJson.x
      });
      this.setState({
        yMaster: responseJson.y
      });
    })
    .catch(error => {
      console.error(error);
    });
}, 3000);
};

1 个答案:

答案 0 :(得分:1)

向您的app.run()添加参数。默认情况下,它在本地主机上运行,​​将其更改为app.run(host= '0.0.0.0')以在您的计算机IP地址上运行。

Quickstart page的“外部可见服务器”下的Flask网站上记录: