You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Navigation报错:RNSScreenStackHeaderConfig未在UIManager中找到

解决React Native Navigation中"RNSScreenStackHeaderConfig"未找到的错误

错误信息:
ERROR Invariant Violation: requireNativeComponent: "RNSScreenStackHeaderConfig" was not found in the UIManager.

This error is located at:
    in RNSScreenStackHeaderConfig (at HeaderConfig.tsx:164)
    in HeaderConfig (at NativeStackView.native.tsx:280)
    in RNSScreen (at createAnimatedComponent.js:211)
    in AnimatedComponent (at createAnimatedComponent.js:264)
    in AnimatedComponentWrapper (at src/index.native.tsx:257)
    in MaybeFreeze (at src/index.native.tsx:256)
    in Screen (at NativeStackView.native.tsx:214)
    in SceneView (at NativeStackView.native.tsx:342)
    in RNSScreenStack (at src/index.native.tsx:188)
    in ScreenStack (at NativeStackView.native.tsx:331)
    in NativeStackViewInner (at NativeStackView.native.tsx:388)
    in RNCSafeAreaProvider (at SafeAreaContext.tsx:87)
    in SafeAreaProvider (at SafeAreaProviderCompat.tsx:46)
    in SafeAreaProviderCompat (at NativeStackView.native.tsx:387)
    in NativeStackView (at createNativeStackNavigator.tsx:72)
    in Unknown (at createNativeStackNavigator.tsx:71)
    in NativeStackNavigator (at App.js:21)
    in EnsureSingleNavigator (at BaseNavigationContainer.tsx:430)
    in BaseNavigationContainer (at NavigationContainer.tsx:132)
    in ThemeProvider (at NavigationContainer.tsx:131)
    in NavigationContainerInner (at App.js:20)
    in App (at renderApplication.js:50)
    in RCTView (at View.js:32)
    in View (at AppContainer.js:92)
    in RCTView (at View.js:32)
    in View (at AppContainer.js:119)
    in AppContainer (at renderApplication.js:43)
    in Bayda9(RootComponent) (at renderApplication.js:60)

错误原因

这个问题是因为React Navigation的Native Stack依赖react-native-screens和react-native-safe-area-context两个原生模块,要么未安装,要么原生端配置不完整,导致UIManager找不到对应的原生组件。

解决方案

  • 步骤1:安装依赖
    在项目根目录执行命令:

    npm install @react-navigation/native react-native-screens react-native-safe-area-context
    # 或使用yarn
    yarn add @react-navigation/native react-native-screens react-native-safe-area-context
    
  • 步骤2:处理iOS原生依赖
    进入iOS目录安装Pods:

    cd ios && pod install && cd ..
    
  • 步骤3:处理Android原生配置
    打开android/app/src/main/java/[你的包名]/MainActivity.java,添加以下代码:

    import android.os.Bundle;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(null);
    }
    

    之后同步Gradle或直接重新构建项目。

  • 步骤4:清理缓存并重启项目
    先清理缓存:

    npx react-native start --reset-cache
    

    再重新运行项目:

    # iOS
    npx react-native run-ios
    # Android
    npx react-native run-android
    
  • 额外检查(针对RN < 0.60版本)
    如果你的React Native版本低于0.60,需要手动链接模块:

    npx react-native link react-native-screens
    npx react-native link react-native-safe-area-context
    

内容的提问来源于stack exchange,提问作者nadimxht

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 15:15:30