用Expo反应Native App-无法加载QR码

时间:2019-09-04 22:55:21

标签: react-native expo yarnpkg

我正在关注本教程:

https://blog.expo.io/building-a-react-native-app-using-expo-and-typescript-part-1-a81b6970bb82

yarn global add create-react-native-app

create-react-native-app my-app-name

cd my-app-name

yarn start

我与手机(Android)位于同一网络上。没有VPN。我在应用程序的根文件夹中。它说Loading dependency graph, done.,所以我知道它正在运行。

防火墙也已关闭,这不是超时错误。

当我扫描QR码时:

Something went wrong. Could not load exp://10.0.0.21:19000.

可能是我的问题吗?

编辑

新错误:Uncaught Error: java.net.ConnectException: Failed to connect to /10.0.0.21.19000

5 个答案:

答案 0 :(得分:1)

尝试在chrome中打开调试器,如果您的设备和开发PC未连接到同一服务器,则选择tunnel

答案 1 :(得分:1)

在节点 v12.18 上。在 package.json 降级 expo 和 react-native 连接器中。 38 个作品而不是 40 个作品。

"expo": "~38.0.0",
"react-native": "https://github.com/expo/react-native/archive/sdk-38.0.0.tar.gz",

然后删除 node_modules 并重新安装它们

rm -rf node_modules
npm install

然后再次运行:

npm start 

QR 应该可以工作了

答案 2 :(得分:0)

在我的情况下,我使用了 tunnel ,而sdk版本存在问题-我有39.0.0,我应该只使用36、37或38-这就是我收到的消息来自expo,所以我要做的就是进入 app.json 文件,并在expo中添加以下行(或者如果已经存在,则对其进行更改):

"sdkVersion": "38.0.0"

,它看起来应该像:

    "expo": {
            "name": "DoneWithIt",
            "slug": "DoneWithIt",
            "sdkVersion": "38.0.0",
            "version": "1.0.0",

    ....
    ....
    }

在依赖项的 package.json 文件中,在“ expo”和“ react-native”中将版本更改为38.0.0:

"dependencies": {
    "expo": "~38.0.0",
    "expo-status-bar": "~1.0.2",
    "react": "16.13.1",
    "react-dom": "16.13.1",
    "react-native": "https://github.com/expo/react-native/archive/sdk- 
     38.0.0.tar.gz",
    "react-native-web": "~0.13.12"
  }

然后运行:

cd yourAppName 
npm start 

,它将被加载到您的手机上。 您可以从这里观看: https://www.youtube.com/watch?v=eS8VULijAZ4

在此视频中,他使用32.0.0,因此请注意更新的版本(在我的情况下,38.0.0对于09/2020来说是很好的选择)

答案 3 :(得分:0)

只需从应用程序中删除node_modules文件夹,然后运行npm install即可获取依赖关系。

现在运行expo startnpm start,QR码将立即加载。

答案 4 :(得分:-1)

运行命令

expo start --tunnel