NativeKeel · React Native fixes

'RCTComponent.h' file not found

Updated 2026-10-16

After upgrading to React Native 0.87 or 0.88 (Expo SDK 58), the iOS build stops inside a library:

node_modules/react-native-date-picker/ios/DatePicker.m:7:9: error: 'RCTComponent.h' file not found
node_modules/@react-native-menu/menu/ios/MenuViewManager.mm:3:9: 'RCTBridge.h' file not found

Why. React Native 0.87 ships its iOS headers as header-only XCFrameworks. The release notes: "The one consumer-facing change is bare-form angle includes — if you import a React Native header without its namespace, add it". We compiled every RCT*.h header of React Native 0.87.1 on its own, in both setups:

ImportDefault (prebuilt React Native)React Native built from source
#import <React/RCTBridge.h>worksworks
#import "RCTBridge.h"file not foundworks
#import <RCTBridge.h>file not foundfile not found

A few headers still resolve in quotes (RCTFabricComponentsPlugins.h, RCTComponentViewHelpers.h and the CoreModules headers), which is why many Fabric libraries are unaffected. An import inside an #if __has_include(...) fallback is also fine: the compiler takes the <React/...> branch.

Libraries that hit it. From the 248 most downloaded React Native libraries with iOS code, checked on 16 October 2026:

Library (version)ImportStatus
react-native-date-picker 5.0.13"RCTComponent.h", "RCTConvert.h"issue #974, not released
@react-native-menu/menu 2.0.0"RCTBridge.h"issue #1221, not released
react-native-bottom-tabs 1.4.0"RCTConversions.h"fixed on main, next release
react-native-ios-context-menu 3.2.1"RCTBridge.h"same import, no report yet
react-native-ios-utilities 5.2.0"RCTBridge.h"same import, no report yet

Fix. Update the library if a release has the change. Otherwise add the namespace yourself and keep it with patch-package:

- #import "RCTComponent.h"
+ #import <React/RCTComponent.h>
npx patch-package react-native-date-picker

If your own iOS code (AppDelegate, native modules) has the same imports, change them the same way.

Workaround while you wait. Building React Native from source still resolves the quoted form, at the cost of much slower clean builds. Bare CLI: RCT_USE_PREBUILT_RNCORE=0 bundle exec pod install. Expo: set buildReactNativeFromSource: true under ios in the expo-build-properties plugin, then prebuild again. It does not help with #import <RCTBridge.h>.

Check your project. npx nativekeel reads the iOS sources of your installed libraries and your own code. Before the upgrade it lists them as work for 0.87; after it, as the reason the build fails, with file and line.

Check your whole app in one command: npx nativekeel
Free, runs locally (your code is not uploaded), no account. It reports this along with the other upgrade, store, crash and security problems it checks for.

Sources