我一直在尝试在 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
将您的依赖项更改为:
"@react-navigation/native": "^6.0.6",
"@react-navigation/native-stack": "^6.2.5"
当我查看您的代码时,发现缺少一些元素 在您的 RegisterView 页面上,您使用了名为 btnText 的样式,但没有任何名为该的样式。 我可以建议您使用一些 linter 并重试