React Native Android报错:RNSScreenStackHeaderConfig未在UIManager中找到
排查修复RNSScreenStackHeaderConfig找不到的问题
以下是针对Expo环境下该错误的针对性排查步骤:
确认依赖版本兼容性
Expo环境下react-native-screens依赖需要与当前Expo SDK版本严格匹配,不要手动安装第三方版本,直接用Expo官方提供的兼容包:
执行命令安装对应版本的依赖:npx expo install expo-screens react-native-screens安装完成后查看
package.json,确保两个依赖版本与你使用的Expo SDK版本对应。重新生成预构建原生文件
如果你之前手动修改过MainActivity.java,Expo预构建模式会覆盖手动修改的内容,导致配置失效。执行以下命令完全清理并重新生成原生项目文件:npx expo prebuild --clean该命令会根据
app.json/app.config.js的配置自动完成react-native-screens的原生配置,无需手动修改原生代码。检查Expo插件配置
确保app.json/app.config.js中已添加react-native-screens的配置插件,否则预构建时无法自动配置原生项目:{ "expo": { "plugins": [ "react-native-screens" ] } }彻底清除缓存
除了./gradlew clean,还需要清除Expo缓存和应用缓存:- 执行命令清除Expo缓存:
npx expo start --clear - 在Android模拟器中,进入设置 -> 应用 -> 你的应用 -> 存储 -> 清除数据,彻底清空应用缓存。
- 执行命令清除Expo缓存:
检查导航组件导入路径
确保所有导航组件均从官方导航库导入,避免错误导入底层原生组件:
正确示例:import { createNativeStackNavigator } from '@react-navigation/native-stack'; import { NavigationContainer } from '@react-navigation/native';不要直接导入
react-native-screens中的组件。尝试降级依赖版本
如果以上步骤均无效,可能是最新版本的兼容性问题,尝试降级到稳定版本:npm install @react-navigation/native@6.1.6 @react-navigation/native-stack@6.9.17再重新执行
npx expo install同步依赖版本。
内容的提问来源于stack exchange,提问作者Sigma
相关产品推荐
相关产品推荐

