@react-navigation/native 升级到 V5 SyntaxError

@react-navigation/native upgrade to V5 SyntaxError

我在将我的 react-navigation 从 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 | * Types 50 | */

51 | export type { | ^ 52 | StackNavigationOptions, 53 | StackNavigationProp, 54 | StackHeaderProps,

希望对您有所帮助!

删除你的yarn.lockpackage-json.lock文件和运行yarn/npm 安装.

然后尝试使用 npx react-native start --reset-cacheexpo start -c

清除缓存

参考资料

Upgrade

Cache clear

如果您使用 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 中卸载 apk。
  • 运行 yarn react-native start --reset-cache.
  • 运行 yarn react-native run-android.

如果这不起作用,请转至 android/,然后 运行 gradlew clean./gradlew clean,删除您的 apk phone 并重新运行 yarn react-native run-android.

对于无法通过删除 node_modules 和诸如此类的东西使其正常工作的任何人:

@babel/core 添加为 全局 依赖项(yarn global add @babel/core / npm install -g @babel/core),因为全局安装的 expo-cli 不会由于某些原因无法识别基于项目的 babel 安装。