基于 @react-navigation/native 的 Expo Snack 应用程序可以在其 Web 变体上运行,但在 Android 和 iOS 变体上启动时会崩溃

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

我一直在尝试在 Expo 的 Snack Web 界面上编写 React Native 应用程序。

这是我一直在使用的代码 [2]。

它在其 Web 版本上运行顺利,但当我选择其 Android 或 iOS 变体时,Expo Go 应用程序启动时间给出了相同的错误:

**0,a.usePreventRemoveContext is not a function (it is undefined)**

TypeError: 0,a.usePreventRemoveContext is not a function (it is undefined)

  at anonymous (@react-navigation/native.stack:12:14200)
  at S (@react-navigation/native.stack:3:14943)

几个小时的互联网搜索严重导致了我的困惑,此时,我猜测我的依赖项版本有问题。

我尝试过组合依赖版本,也尝试过从不同的导航库导入组件。

此外,我还构建了不同的导航结构。所有这些在 Snack 的 Web 版本上都很顺利,但当我切换到 Android 或 iOS 时,抛出了同样的错误。

可能,当我从

NavigationContainer
导入
@react-navigation/native
以便使用
View
组件的可导航堆栈时,应用程序启动时会错误加载某些内容。

嗯,代码和

package.json
依赖文件都可以在[2]上看到,为了方便起见,后者也可以在下面找到。


{
  "dependencies": {
    "@expo/vector-icons": "^14.0.0",
    "react-native-paper": "4.9.2",
    "react-native-screens": "~3.29.0",
    "@react-navigation/stack": "^5.14.4",
    "@react-navigation/native": "6.0.0",
    "react-native-gesture-handler": "~2.14.0",
    "react-native-safe-area-context": "4.8.2",
    "@react-navigation/native-stack": "^6.5.0",
    "@react-native-community/masked-view": "^0.1.0"
  }
}

无论如何,我什至不确定这是否是版本兼容性问题。但是在[2]上你可以测试它,它是公共代码。

那么,有什么问题吗?请帮忙?

参考文献

[1] 小吃 https://snack.expo.dev/

[2] Projeto_RH_em_Acao https://snack.expo.dev/@marcio.barbado/projeto_rh_em_acao

javascript react-native expo react-navigation react-native-navigation
2个回答
0
投票

将您的依赖项更改为:

    "@react-navigation/native": "^6.0.6",
    "@react-navigation/native-stack": "^6.2.5"

0
投票

当我查看您的代码时,发现缺少一些元素 在您的 RegisterView 页面上,您使用了名为 btnText 的样式,但没有任何名为该的样式。 我可以建议您使用一些 linter 并重试

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