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

相关文章

一、前言 在组件方面react和Vue一样的,核心思想玩的就是组件...
前言: 前段时间学习完react后,刚好就接到公司一个react项目...
前言: 最近收到组长通知我们项目组后面新开的项目准备统一技...
react 中的高阶组件主要是对于 hooks 之前的类组件来说的,如...
我们上一节了解了组件的更新机制,但是只是停留在表层上,例...
我们上一节了解了 react 的虚拟 dom 的格式,如何把虚拟 dom...