🎃
typescriptで`'Stack.Navigator' cannot be used as a JSX component`エラー
概要
react-native expo
+react-navigation
+native-base
のアプリで、どのタイミングでエラーが出始めたのかはっきりしませんが、native-base
をアップデートしたあたりでタイトルのエラーが出始めました。
コードの問題ではなく@types
関連のエラーなので、コードは省略させていただきます。
解決策
package.json
に"resolutions": { "@types/react": "~17.0.44" }
を一行足してyarn install
をしたら消えました。
解説
おそらくnative-base
をインストールした際に@types/react
が18系にアップグレードされて、そのせいでエラーが出始めたようです。
yarn.lock
を見ると下記のようになっていました(元の状態を再現できなかったので何となく)。
"@types/react@*":
version "18.0.??"
dependencies:
"@types/prop-types" "*"
"@types/scheduler" "*"
csstype "^3.0.2"
今回はreact-navigation
でエラーが出ましたが、他でもちょいちょいエラーになってるっぽいですね。こちらが参考になりました。
Discussion