反应本机导航:无法解析模块反应导航

Posted

技术标签:

【中文标题】反应本机导航:无法解析模块反应导航【英文标题】:React native navigation : Unable to resolve module react-navigation 【发布时间】:2021-09-13 09:12:51 【问题描述】:

我认为这个问题是在我将项目推送到 github 之后出现的,我已经按照官方文档安装了,一切看起来都很好,但仍然。

我已经: - 使用 npm install @react-navigation/native 重新安装

-重新安装依赖项:expo install react-native-gesture-handler react-native-reanimated react-native-screens react-native-safe-area-context @react-native-community/masked-view

-删除 node_modules 然后 npm install

错误信息:

Unable to resolve module react-navigation from D:\Prog\Agora\Agora\node_modules\react-native-screens\src\createNativeStackNavigator.tsx: react-navigation could not be found within the project.

If you are sure the module exists, try these steps:
 1. Clear watchman watches: watchman watch-del-all
 2. Delete node_modules and run yarn install
 3. Reset Metro's cache: yarn start --reset-cache
 4. Remove the cache: rm -rf /tmp/metro-*
  36 |   NavigationAction,
  37 |   NavigationProp,
> 38 |  from 'react-navigation';
     |         ^
  39 | import  NativeStackNavigationOptions as NativeStackNavigationOptionsV5  from './native-stack/types';
  40 | import  HeaderBackButton  from 'react-navigation-stack';
  41 | import 

【问题讨论】:

【参考方案1】:

您在代码中使用 React Navigation 4.x,但您使用 React Navigation 5.x 作为包,React Navigation 4.x 不适用于 5.x。您可以在此处通过官方文档升级您的代码:https://reactnavigation.org/docs/upgrading-from-4.x/

或者您可以将包更改为 4.x。

【讨论】:

我在我的代码上使用了 5.x,但是我从 4.x 导入了一个 stackNavigator,这就是问题所在,感谢您指出版本不匹配!

以上是关于反应本机导航:无法解析模块反应导航的主要内容,如果未能解决你的问题,请参考以下文章

无法通过反应本机导航导航到有条件地设置屏幕

无法在反应原生导航中构建第三方

屏幕无法在本机反应中导航

反应本机导航:无法导航到堆栈中的顶部屏幕

无法在android上的反应导航标题中设置阴影样式(反应本机)

在状态转换错误期间无法更新-导航到另一个屏幕时使用挂钩对本机做出反应