Call RCTInitializing initialize on TurboModules
Summary: After D28435078, TurboModules can conform to the RCTInitializing protocol, and implement the `-(void)initialize` method. This diff makes the TurboModule system execute the module's initialize method after the infra is done setting it up. Changelog: [Internal] Reviewed By: fkgozali Differential Revision: D28435429 fbshipit-source-id: fe945d616b97ed89f48b914b064e518b122a7b7b
This commit is contained in:
Родитель
269fefb065
Коммит
a657c2655f
|
@ -18,6 +18,7 @@
|
|||
#import <React/RCTBridge+Private.h>
|
||||
#import <React/RCTBridgeModule.h>
|
||||
#import <React/RCTCxxModule.h>
|
||||
#import <React/RCTInitializing.h>
|
||||
#import <React/RCTLog.h>
|
||||
#import <React/RCTModuleData.h>
|
||||
#import <React/RCTPerformanceLogger.h>
|
||||
|
@ -605,6 +606,13 @@ static Class getFallbackClassFromName(const char *name)
|
|||
[_bridge attachBridgeAPIsToTurboModule:module];
|
||||
}
|
||||
|
||||
/**
|
||||
* If the TurboModule conforms to RCTInitializing, invoke its initialize method.
|
||||
*/
|
||||
if ([module respondsToSelector:@selector(initialize)]) {
|
||||
[(id<RCTInitializing>)module initialize];
|
||||
}
|
||||
|
||||
/**
|
||||
* Attach method queue to id<RCTTurboModule> object.
|
||||
* This is necessary because the id<RCTTurboModule> object can be eagerly created/initialized before the method
|
||||
|
|
Загрузка…
Ссылка в новой задаче