mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Move TurboModuleManager initialization into createReactContext
Summary: TurboModuleManager was initialized in `ReactInstanceManager.setupReactContext`, which is executed on the NativeModule thread after we call `ReactInstanceManager.createReactContext` on a new thread. `NativeModuleRegistry` is initialized in `ReactInstanceManager.createReactContext`, so if someone requests a TurboModule after `ReactInstanceManager.createReactContext` is called and before `ReactInstanceManager.setupReactContext` fully finishes executing, that TurboModule won't be found. This diff moves TurboModuleManager initialization into `ReactInstanceManager.createReactContext` Reviewed By: fkgozali Differential Revision: D15978486 fbshipit-source-id: 734e83eced414e545fe275e9a124d0df35204c40
This commit is contained in:
committed by
Facebook Github Bot
parent
f9ecce7440
commit
bbc6695afc
@@ -1009,9 +1009,6 @@ public class ReactInstanceManager {
|
||||
|
||||
catalystInstance.initialize();
|
||||
|
||||
if (ReactFeatureFlags.useTurboModules) {
|
||||
catalystInstance.setTurboModuleManager(catalystInstance.getJSIModule(JSIModuleType.TurboModuleManager));
|
||||
}
|
||||
|
||||
mDevSupportManager.onNewReactContextCreated(reactContext);
|
||||
mMemoryPressureRouter.addMemoryPressureListener(catalystInstance);
|
||||
@@ -1178,6 +1175,10 @@ public class ReactInstanceManager {
|
||||
|
||||
reactContext.initializeWithInstance(catalystInstance);
|
||||
|
||||
if (ReactFeatureFlags.useTurboModules && mJSIModulePackage != null) {
|
||||
catalystInstance.setTurboModuleManager(catalystInstance.getJSIModule(JSIModuleType.TurboModuleManager));
|
||||
}
|
||||
|
||||
return reactContext;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user