如何在 iOS 中将 react js array [] 转换为 NSArray,在 Android 中将 string



我作为一个新手使用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]);

您可以在此处阅读有关本机模块的更多信息

最新更新