React Native 和 Expo - 模拟器无法进行网络调用并且热重载不起作用

问题描述 投票:0回答:1

我正在使用 Expo 来使用 React Native 进行开发,并且一直在使用 iOS 和 Android 模拟器来进行测试。

最近,模拟器以及任何连接的设备都无法进行任何网络调用。该应用程序加载正常,但没有网络功能运行。它似乎甚至没有尝试发出任何获取请求,因为 JS 调试器页面在控制台或网络选项卡中没有显示任何内容。热重载也不清爽。

当我在网络浏览器中打开应用程序时,一切正常,它仍然能够发出获取请求和热重载。

从我的查找来看,这似乎与 Metro 有关,但到目前为止,我从任何其他解决方案中尝试过的都没有帮助。据我所知,自该应用程序上次运行以来,我没有更改过任何 Expo 或 Metro 设置或配置。

我已经尝试过:

  • 重新启动并卸载/重新安装模拟器
  • 恢复到旧的工作提交
  • 删除目录中的所有本地文件并从上次工作提交重新初始化
  • 尝试使用以下命令清除缓存等:
    watchman watch-del-all

    rm -rf node_modules

    npx expo start --localhost
    npm cache clean

也尝试过这些命令,但据我所知它们没有执行任何操作:

rm -f ./.git/index.lock

npx expo r -c

npm start --reset-cache

react-native expo ios-simulator metro-bundler
1个回答
0
投票

Android应用程序不直接调用API。您必须在清单文件中设置网络配置或在清单文件应用程序中设置以下代码(

android:usesCleartextTraffic="true"

正如你所说,你无法在两个模拟器中调用 API。请分享 API 响应,以便我们调查更多详细信息。

© www.soinside.com 2019 - 2024. All rights reserved.