mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Check delegate for getModuleForClass and getModuleInstanceFromClass (#53207)
Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/53207 When restructuring the RCTReactNativeFactory, we forgot to add a couple of methods to check whether the delegate was implementing the RCTTurboModuleManager delegate methods. This has been reported [here](https://github.com/react-native-community/discussions-and-proposals/issues/916) This change fixes it. ## Changelog: [iOS][Fixed] - Ask the delegate for `getModuleForClass` and `getModuleInstanceFromClass` Reviewed By: cortinico Differential Revision: D79998104 fbshipit-source-id: 68069a9f93182d4fa416b5799bf4eec4d107552b
This commit is contained in:
committed by
Facebook GitHub Bot
parent
9c9a39b58e
commit
85b47afb48
@@ -146,6 +146,12 @@ using namespace facebook::react;
|
||||
#if RN_DISABLE_OSS_PLUGIN_HEADER
|
||||
return RCTTurboModulePluginClassProvider(name);
|
||||
#else
|
||||
if ([_delegate respondsToSelector:@selector(getModuleClassFromName:)]) {
|
||||
Class moduleClass = [_delegate getModuleClassFromName:name];
|
||||
if (moduleClass != nil) {
|
||||
return moduleClass;
|
||||
}
|
||||
}
|
||||
return RCTCoreModulesClassProvider(name);
|
||||
#endif
|
||||
}
|
||||
@@ -176,7 +182,12 @@ using namespace facebook::react;
|
||||
format:@"Delegate must provide a valid dependencyProvider"];
|
||||
}
|
||||
#endif
|
||||
|
||||
if ([_delegate respondsToSelector:@selector(getModuleInstanceFromClass:)]) {
|
||||
id<RCTTurboModule> moduleInstance = [_delegate getModuleInstanceFromClass:moduleClass];
|
||||
if (moduleInstance != nil) {
|
||||
return moduleInstance;
|
||||
}
|
||||
}
|
||||
return RCTAppSetupDefaultModuleFromClass(moduleClass, self.delegate.dependencyProvider);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user