Skip to content

Commit b5f90ed

Browse files
Dmitry Zakharovfacebook-github-bot
Dmitry Zakharov
authored andcommitted
Update ModuleRegistry if there're new modules registered
Reviewed By: fkgozali Differential Revision: D7638394 fbshipit-source-id: c1690da7977f0335bc661df5f19dc9f473150d41
1 parent d2a1461 commit b5f90ed

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

React/CxxBridge/RCTCxxBridge.mm

+9-5
Original file line numberDiff line numberDiff line change
@@ -305,7 +305,7 @@ - (void)start
305305

306306
[self registerExtraModules];
307307
// Initialize all native modules that cannot be loaded lazily
308-
[self _initModules:RCTGetModuleClasses() withDispatchGroup:prepareBridge lazilyDiscovered:NO];
308+
(void)[self _initializeModules:RCTGetModuleClasses() withDispatchGroup:prepareBridge lazilyDiscovered:NO];
309309

310310
[_performanceLogger markStopForTag:RCTPLNativeModuleInit];
311311

@@ -635,9 +635,9 @@ - (void)installExtraJSBinding
635635
}
636636
}
637637

638-
- (void)_initModules:(NSArray<id<RCTBridgeModule>> *)modules
639-
withDispatchGroup:(dispatch_group_t)dispatchGroup
640-
lazilyDiscovered:(BOOL)lazilyDiscovered
638+
- (NSArray<RCTModuleData *> *)_initializeModules:(NSArray<id<RCTBridgeModule>> *)modules
639+
withDispatchGroup:(dispatch_group_t)dispatchGroup
640+
lazilyDiscovered:(BOOL)lazilyDiscovered
641641
{
642642
RCTAssert(!(RCTIsMainQueue() && lazilyDiscovered), @"Lazy discovery can only happen off the Main Queue");
643643

@@ -688,11 +688,15 @@ - (void)_initModules:(NSArray<id<RCTBridgeModule>> *)modules
688688
RCTProfileHookModules(self);
689689
}
690690
#endif
691+
return moduleDataById;
691692
}
692693

693694
- (void)registerAdditionalModuleClasses:(NSArray<Class> *)modules
694695
{
695-
[self _initModules:modules withDispatchGroup:NULL lazilyDiscovered:YES];
696+
NSArray<RCTModuleData *> *newModules = [self _initializeModules:modules withDispatchGroup:NULL lazilyDiscovered:YES];
697+
if (_reactInstance) {
698+
_reactInstance->getModuleRegistry().registerModules(createNativeModules(newModules, self, _reactInstance));
699+
}
696700
}
697701

698702
- (void)_prepareModulesWithDispatchGroup:(dispatch_group_t)dispatchGroup

0 commit comments

Comments
 (0)