【发布时间】:2017-01-07 03:51:12
【问题描述】:
我正在尝试围绕我们现有的原生 android 和 ios SDK 构建一个 react-native 包装器。我想知道我是否可以对 Android 和 iOS 桥接模块使用相同的类名和类方法?以及如何映射要为正确设备调用的正确模块?
例如,对于 iOS:
// CalendarManager.h
#import "RCTBridgeModule.h"
@interface CalendarManager : NSObject <RCTBridgeModule>
@end
// CalendarManager.m
@implementation CalendarManager
RCT_EXPORT_MODULE();
@end
RCT_EXPORT_METHOD(addEvent:(NSString *)name location:(NSString *)location)
{
//Some work
}
对于安卓:
public class CalendarManager extends ReactContextBaseJavaModule {
public CalendarManager(ReactApplicationContext reactContext) {
super(reactContext);
}
@Override
public String getName() {
return "CalendarManager";
}
@ReactMethod
public void addEvent(String name, String location) {
//Some work
}
}
在我的 js 文件中,如果我有这样的东西:
import { NativeModules } from 'react-native';
NativeModules.CalendarManager.addEvent("Name", "Location")
哪一个会被执行?有没有办法可以根据设备将其路由到正确的功能?
谢谢。
【问题讨论】:
标签: react-native react-native-android react-native-ios native-module