我作为一个新手使用react-native在跨平台项目上工作,想知道我应该如何将字符串的javascript数组转换为Java数组(String[](和iOS NSArray。
例如,我的 JS 组件具有
constructor(props) {
super(props);
this.state = {
isLoading: false,
devices: [],
selectedDevices:[]
};
}
我的安卓原生模块期望如下 -
public void disableDevices(String[] deviceNames){
...
}
有人可以帮忙吗?
这是使用传递数组调用本机方法的示例。希望这对您有所帮助。
人造人
@ReactMethod
public void yourMethod(ReadableArray yourArray, final Promise promise) {
}
苹果
// YourModule.h
+(void) yourMethod:(NSArray *)yourArray resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject;
// YourModule.m
+ (void) yourMethod:(NSArray *)yourArray
resolver:(RCTPromiseResolveBlock)resolve
rejecter:(RCTPromiseRejectBlock)reject
{
}
.JS
import { NativeModules } from 'react-native';
const { YourModule } = NativeModules;
...
YourModule.yourMethod([1, 2, 3]);
您可以在此处阅读有关本机模块的更多信息