微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

react-native – 从Expo App调用本地托管服务器

我正在创建一个react-native应用程序,我创建的其中一个组件包含一个属性,该属性通过来自http请求的数据填充.

现在我正在从我的笔记本电脑托管服务器,但是我正在使用Expo应用程序在手机上测试应用程序.由于这些是两个独立的设备,因此http://localhost:3000调用不起作用,因此我无法判断我的组件是否正常工作.

有没有办法在我的笔记本电脑上运行服务器并进行设置,以便来自Expo应用程序的http请求到达服务器?

您可以使用Expo清单在运行时获取IP地址:
import Expo from "expo";
const { manifest } = Expo.Constants;
const api = (typeof manifest.packagerOpts === `object`) && manifest.packagerOpts.dev
  ? manifest.debuggerHost.split(`:`).shift().concat(`:3000`)
  : `api.example.com`;

这将在开发模式下将api设置为本地开发机器的地址以及您在生产中使用的任何地址.请注意,通过App Store / Play Store部署的应用程序似乎未定义packagerOpts.这就是为什么我们有其他类型的条件.在这种情况下,我们假设它是生产构建.

更多关于清单的信息:https://docs.expo.io/versions/latest/guides/how-expo-works.html#expo-manifest

原文地址:https://www.jb51.cc/react/300782.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐