簡體   English   中英

@react-navigation/native 升級到 V5 SyntaxError

[英]@react-navigation/native upgrade to V5 SyntaxError

我在將 react-navigation 從 v3 升級到 v5 時遇到了一些問題。 我一直遇到這個錯誤,起初我認為這是一個錯誤,但我沒有在網上找到任何其他關於它的投訴。 為了 100% 確定舊版本沒有引起任何問題,我完全卸載了所有 react-navigation 並從頭開始使用 v5。 我仍然收到索引文件錯誤。 它似乎不理解 typescript ......這是一個已知的錯誤嗎? 我需要采取的其他步驟不在關於安裝 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.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

如果這不起作用, go 到android/ ,然后運行gradlew clean./gradlew clean ,從手機中刪除 apk 並重新運行yarn react-native run-android

希望這會幫助你!

刪除您的yarn.lockpackage-json.lock文件並運行yarn/npm install

然后嘗試使用 npx react-native start --reset-cacheexpo start -c清除緩存

參考

升級

緩存清除

對於任何無法通過刪除node_modules和諸如此類的東西來使其工作的人:

添加@babel/core作為全局依賴項( yarn global add @babel/core / npm install -g @babel/core ),因為全局安裝的expo-cli出於某種原因無法識別基於項目的 babel 安裝。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM