首页 > 解决方案 > @react-navigation/native 升级到 V5 SyntaxError

问题描述

我在将我的反应导航从 v3 升级到 v5 时遇到了一些问题。我一直遇到这个错误,起初我认为这是一个错误,但我没有在网上找到任何其他关于它的投诉。为了 100% 确定旧版本没有引起任何问题,我完全卸载了所有 react-navigation 并从头开始使用 v5。我仍然收到索引文件错误。它似乎不理解打字稿......这是一个已知的错误吗?我需要采取的其他步骤不在关于安装 Typescript 的文档中吗?

更新:./types 文件未正确编译...它似乎无法识别 NavigationState 或 ActionHelpers...这是一个错误吗?有没有人见过这个?

更新 2 我在 RN V0.59 上运行,所以我认为可能存在依赖问题。我正在升级到 V0.62.2 并查看问题是否仍然存在

在此处输入图像描述

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

在此处输入图像描述

SyntaxError: /Users/myusername/myprojectname/node_modules/@react-navigation/stack/src/index.tsx: Unexpected token (51:12)

49 | * 类型 50 | */

51 | 出口类型 { | ^ 52 | 堆栈导航选项,53 | StackNavigationProp,54 | StackHeaderProps,

标签: javascripttypescriptreact-nativereact-navigationreact-navigation-v5

解决方案


如果您使用 TypeScript,请执行以下操作:

  • 删除node_modules和锁定文件(yarn.lockpackage.lock
  • 将 TypeScript 升级到最新版本,即 3.8.3。
  • 运行yarn cache cleannpm cache clean
  • 运行yarnnpm install
  • 运行yarn react-native start --reset-cache
  • 运行yarn react-native run-android

如果您不这样做,请按照以下步骤操作:

  • 运行yarn add --dev @babel/core@^7.9.0 @babel/runtime@^7.9.0
  • emulator/phone.
  • 运行yarn react-native start --reset-cache
  • 运行yarn react-native run-android

如果这不起作用,请转到android/并运行,gradlew clean或者./gradlew clean从您的手机中删除 apk 并重新运行yarn react-native run-android


推荐阅读