Я работаю новичком над кросс-платформенным проектом, используя react-native, и хотел бы знать, как мне преобразовать массив строк javascript в массив Java (String []) и iOS NSArray.
Например, Мой компонент JS имеет
constructor(props) {
super(props);
this.state = {
isLoading: false,
devices: [],
selectedDevices:[]
};
}
Мой собственный модуль Android ожидает следующего:
public void disableDevices(String[] deviceNames){
...
}
Кто-нибудь может помочь?
Мне нужно передать этот результат нативным модулям.





Это пример вызова нативного метода с передачей массива. Надеюсь, что это поможет вам.
Андроид
@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 здесь
Почему вы должны преобразовать его массив [] в NSArray в iOS и строку [] в Android?