我继承了一个相当复杂的 React Native 应用程序,所以如果我在问这个问题时不了解有关该应用程序的所有信息,请提前道歉。
我有一个使用 Expo 的 React Native 应用程序。我运行expo start
在浏览器中启动 Metro。然后我使用 LAN 选项通过手机上的 Expo 应用程序将我的 iPhone 连接到本地应用程序。当我使用 LAN 时,我通过一个看起来像192.168.0.xxx:19000
.
该应用程序在我的手机上加载良好,但每当我尝试网络请求(即,fetch
调用也在我的本地计算机上运行的 Rails 服务器)时,该应用程序似乎无法连接到后端。
我正在使用以下命令运行 Rails 服务器:rails server
Rails 服务器运行后,我可以127.0.0.1:3000
在浏览器中查看在 Rails 中创建的应用程序的后端。
但是,每当我fetch
从应用程序向 API 发出请求时,无论是127.0.0.1:3000
或192.168.0.xxx:19000
(这xxx
是一个实际的三位数字),请求都会失败。基本上,我一生都无法弄清楚如何通过 Expo 从手机上运行的 React Native 应用程序向本地机器上运行的 Rails 服务器发出正确的请求。
我尝试过类似http
vs.的东西https
,但没有运气。我也用谷歌搜索了这件事,但我仍然无法弄清楚发生了什么。部分问题在于该应用程序本身是如此庞大和复杂,而我对它仍然如此陌生,以至于我不确定我是否只是从根本上误解了 Expo 和 React Native 应该如何向后台发出请求-结束,或者如果应用程序本身有一些古怪的东西阻止我提出请求。
任何关于如何让应用程序正确连接到 Rails 服务器的建议/想法将不胜感激。谢谢你。