Как преобразовать реагирующий массив js [] в NSArray в iOS и строку [] в Android? - PullRequest
0 голосов
/ 04 апреля 2019

Я работаю новичком в кроссплатформенном проекте, использующем реагирующий на натив, и хотел бы знать, как мне преобразовать массив строк JavaScript в массив Java (String []) и iOS NSArray.

Например, Мой компонент JS имеет

constructor(props) {
    super(props);
    this.state = {
      isLoading: false,
      devices: [],
      selectedDevices:[]
    };
  }

Мой родной модуль Android ожидает следующее -

public void disableDevices(String[] deviceNames){
...

}

Может кто-нибудь помочь?

1 Ответ

2 голосов
/ 04 апреля 2019

Это пример вызова нативного метода с передачей массива.Надеюсь, что это поможет вам.

Android

@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 здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...