从其他本机代码访问React Native模块

时间:2015-12-07 18:08:03

标签: ios objective-c react-native

我使用的native module非常适合在JS代码中获取React Native中的设备信息。我还想在其他原生(Objective-C)代码中使用它的功能。

是否可以从其他本机代码访问React Native自定义模块的功能?

2 个答案:

答案 0 :(得分:1)

您可以直接访问该功能(使用-[RNDeviceInfo deviceName]方法)或使用React Native访问它的方式,即:

RNDeviceInfo *rn = [[RNDeviceInfo alloc] init];
NSLog(@"Device Name: %@", [rn constantsToExport][@"model"]);

答案 1 :(得分:0)

我找到了一个解决方案,这无疑是一个很好的解决方案。它确实有效,但我认为这远非理想。

在使用此代码的类的顶部:

@interface RNDeviceInfo ()
- (NSString*) deviceName;
@end

然后我可以这样使用它:

RNDeviceInfo *rn = [[RNDeviceInfo alloc] init];
NSLog(@"Device Name: %@", [rn deviceName]);