我是一个使用react-native的跨平台项目的新手,想知道如何将javascript字符串数组转换为Java数组(String[])和iOS NSArray。
例如, 我的 JS 组件有
constructor(props) {
super(props);
this.state = {
isLoading: false,
devices: [],
selectedDevices:[]
};
}
我的 Android native 模块预期如下 -
public void disableDevices(String[] deviceNames){
...
}
有人可以帮忙吗?
最佳答案
这是一个通过传递数组来调用 native 方法的示例。希望这会对您有所帮助。
安卓
@ReactMethod
public void yourMethod(ReadableArray yourArray, final Promise promise) {
}
iOS
// 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]);
您可以阅读有关nativeModules的更多信息here
关于reactjs - 如何将React js array[]转换为iOS中的NSArray和Android中的string[]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55514888/