mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Initialize TurboModules after creation
Summary: When `ModuleHolder` instantiates `NativeModules`, it calls the `initialize()` method. We should replicate this call in the TurboModule system. `NativeModule.initialize()` is meant to be called after ReactApplicationContext is initialized. TurboModuleManager is initialized after ReactApplicationContext is initialized. Therefore, after we create the TurboModule, it should be safe to call `initialize()` on it. Reviewed By: mdvacca Differential Revision: D15711540 fbshipit-source-id: c2ef1a2ab164996bfc5716d81b3b3c716bf0e120
This commit is contained in:
committed by
Facebook Github Bot
parent
97d439e0ba
commit
e5a8e3a53e
@@ -12,6 +12,7 @@ import com.facebook.proguard.annotations.DoNotStrip;
|
||||
import com.facebook.react.bridge.CatalystInstance;
|
||||
import com.facebook.react.bridge.JSIModule;
|
||||
import com.facebook.react.bridge.JavaScriptContextHolder;
|
||||
import com.facebook.react.bridge.NativeModule;
|
||||
import com.facebook.react.bridge.ReactApplicationContext;
|
||||
import com.facebook.react.bridge.queue.MessageQueueThread;
|
||||
import com.facebook.react.turbomodule.core.interfaces.JSCallInvokerHolder;
|
||||
@@ -53,6 +54,12 @@ public class TurboModuleManager implements JSIModule, TurboModuleRegistry {
|
||||
final TurboModule turboModule = mTurbomoduleManagerDelegate.getModule(name);
|
||||
|
||||
if (turboModule != null) {
|
||||
/**
|
||||
* TurboModuleManager is initialized after ReactApplicationContext has been setup.
|
||||
* Therefore, it's safe to call initialize on the TurboModule.
|
||||
*/
|
||||
((NativeModule)turboModule).initialize();
|
||||
|
||||
mTurboModules.put(name, turboModule);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user