javascript - @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,
解决方案
如果您使用 TypeScript,请执行以下操作:
- 删除
node_modules
和锁定文件(yarn.lock
或package.lock
) - 将 TypeScript 升级到最新版本,即 3.8.3。
- 运行
yarn cache clean
或npm cache clean
。 - 运行
yarn
或npm 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
。
推荐阅读
- c# - 通过多个元数据项查询 Azure Blob 存储的最佳方式
- java - 如何使用 Java 连接到 Google Cloud SQL 数据库
- reporting-services - 固定水平主要网格线
- javascript - JSON 结果 JavaScript 点表示法查询返回未定义
- discord.py - 如何制作多个反应角色
- excel - 如何修改它以粘贴特殊值并使用单元格范围中指定的路径
- swift - 将 Firestore 文档中的数组映射到 SwiftUI 应用程序中的 Swift 结构
- vue.js - Vuex 正在重置已设置的状态
- c# - 从asp.net核心中间件中的类和方法属性中获取值
- typescript - 如何根据是否在 Typescript 中设置对象属性来定义条件返回类型