java .lang.RuntimeException: Получен неизвестный класс аргумента: int [] при передаче массива JS в java - PullRequest
0 голосов
/ 20 июня 2020

Я беру курс по RN с Kotlin и застрял на этом задании. Когда я пытаюсь передать массив целых чисел от JS до Kotlin, я получаю сообщение об ошибке java .lang.RuntimeException: Получен неизвестный класс аргументов: int [].

Calculator.kt

@ReactMethod
fun getSum(values: IntArray, callback: Callback){
  var total = 0;
  // get total
  callback.invoke( null, total)
}

из JS я называю это так:

   KTFile.getSum([1,2,3],(err,ok)=>{

   });

это работает, если я работаю с методами, которые принимают одиночные целые числа:

 @ReactMethod
    fun getSquare(value: Int, callback: Callback){
      var sqr = 0;
      // get sqr
      callback.invoke( null, sqr)
    }


   KTFile.getSquare(1,(err,ok)=>{

   });

Как сделать Я передаю массив JS в kotlin / java?

1 Ответ

0 голосов
/ 20 июня 2020

Начиная с версии 1.1.50 для преобразования примитивных массивов используется JavaScript TypedArray.

From https://kotlinlang.org/docs/reference/js-to-kotlin-interop.html

Может быть, попробуйте это вместо этого.

fun getSum(values: Array<Int>, callback: Callback){
      var total = 0;
      // get total
      callback.invoke( null, total)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...