我最近建立了一个新的 React Native 项目,我使用 expo 在手机上测试了该项目。
一开始效果很好,我可以使用博览会上的二维码在手机上启动应用程序,没有任何问题。然而,一段时间后它停止工作,当我现在尝试使用二维码博览会在手机上加载应用程序时,它卡在无休止的加载屏幕上。我没有收到任何错误消息,当我在浏览器中启动应用程序时,它加载得非常好,同样没有任何错误消息。
我尝试删除node_modules文件夹并使用yarn和npm重新安装它,就像推荐的那样,但它仍然不起作用。
我认为它是在我安装了一些软件包后开始的,但即使在我删除它之后它仍然不起作用:
我安装的软件包(来自package-lock.json和package.json(软件包完全相同)):
"@react-navigation/native": "^3.8.4",
"expo": "~42.0.1",
"expo-barcode-scanner": "~10.2.2",
"expo-splash-screen": "~0.11.2",
"expo-status-bar": "~1.0.4",
"expo-updates": "~0.8.1",
"react": "16.13.1",
"react-dom": "16.13.1",
"react-native": "~0.63.4",
"react-native-camera": "^4.0.0",
"react-native-gesture-handler": "~1.10.2",
"react-native-reanimated": "~2.2.0",
"react-native-screens": "~3.4.0",
"react-native-unimodules": "~0.14.5",
"react-native-web": "~0.13.12",
"react-navigation": "^4.4.4",
"react-navigation-stack": "^2.10.4"
我还从App.js中删除了路由,并用一些基本代码替换它,但它仍然不起作用:
import React from 'react';
import { Text, View } from 'react-native';
const YourApp = () => {
return (
<View style={{ flex: 1, justifyContent: "center", alignItems: "center" }}>
<Text>
Try editing me! 🎉
</Text>
</View>
);
}
export default YourApp;
就我而言,这是因为我使用的是 rem 大小单位,而 React Native 不支持该单位。但是,替换的基本代码不应发生这种情况。
就我而言,我的笔记本电脑已连接到 WiFi,而手机正在使用自己的网络,因此无尽的旋转器正在运行。您需要将 expo go 和笔记本电脑连接在同一网络上。
您可以在 Web url 中测试您的应用程序,看看代码或 expo go 应用程序是否存在问题。
就我而言,这是网络问题,我不得不重置路由器。