我try 从"react navigation"使用{createStackNavigator,createAppContainer}创建导航,但当启动我的应用程序时,我总是收到错误消息

我try 了很多东西,但我找不到关于这方面的任何文档/帮助

这是我的package.json美元

{ 
  "main": "node_modules/expo/AppEntry.js", 
  "scripts": { 
    "start": "expo start", 
    "android": "expo start --android", 
    "ios": "expo start --ios", 
    "eject": "expo eject" 
    }, 
  "dependencies": { 
    "expo": "^32.0.0", 
    "react": "16.5.0", 
    "react-native": "github.com/expo/react-native/archive/sdk-32.0.0.tar.gz",
     "react-native-gesture-handler": "^1.0.15", 
    "react-navigation": "^3.0.9" 
    }, 
  "devDependencies": { 
    "babel-preset-expo": "^5.0.0" 
    }, 
  "private": true 
}

推荐答案

注意:这个答案是为expo v33而写的.请查看react navigation的当前文档,以及您正在使用的Expo版本,以获取最新的安装说明.

你出错的原因是你在Expo应用程序中使用了react-navigation,但是你没有正确地遵循教程.

https://reactnavigation.org/docs/en/getting-started.html

如果你阅读了说明书,它会告诉你,一旦你安装了react-navigation,你就应该安装react-native-gesture-handler.然而,他们并不是这么说的

安装本机处理程序,下一步react .如果你在使用Expo,你

它说,如果你使用Expo,你不需要安装react-native-gesture-handler,因为它已经安装.

因为你已经安装了react-native-gesture-handler个,所以你会遇到错误,它已经存在于expo 中,而且expo 对从哪里获取信息感到困惑.

要解决问题,请执行以下操作.

  1. 关闭所有运行Expo的终端
  2. 关闭运行Expo的浏览器窗口
  3. 从设备上的Expo应用程序中清除您正在处理的项目.
  4. 删除你的package-lock.json
  5. 删除你的node_modules文件夹
  6. package.json中删除react-native-gesture-handler条目
  7. npm i
  8. 使用expo start -c重新启动Expo

在使用Expo时要小心,因为很容易安装无法与它一起运行的依赖项,这会给自己带来类似的问题.

React-native相关问答推荐

React Native 应用程序没有在之前的工作代码中执行任何操作就无法运行

React Native - remount / reset / reload屏幕的最佳方式是什么?

如何在 Recompose 中使用 withHandlers 将 refs 添加到功能组件并在 ScrollView 上调用 ScrollTo?

如何在 React Native 中测量我的应用程序的数据使用情况?

Invariant Violation:Chrome 不支持在本机模块上调用同步方法

检索元素的父项时出错:找不到与给定名称android:TextAppearance.Material.Widget.Button.Colored匹配的资源

React Native 开发中的/ios/index/DataStore文件夹是什么

自从升级到 Xcode 10.2 我不能再通过 cli 运行 react-native run-ios

如何在 React Native 的 Modal 组件上禁用Swipe down to close?

FlatList contentContainerStyle -> justifyContent: 'center' 导致滚动问题

自定义原生基础的选项卡

Android 构建错误AndroidManifest.xml requires a placeholder substitution

React Native Expo StackNavigator 重叠通知栏

try 在 Android 上运行我的 React Native 应用程序时出错

Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.

区别需要MainQueueSetup 和dispatch_get_main_queue?

当前文件夹中的 react-native init

React native - 以编程方式判断是否启用了远程 JS 调试

react-native 开始给出 Invalid 正则表达式无效错误

React Navigation获取堆栈标题高度