背景
在进行 React Native 的 Android 原生模块开发的时候,报错:got unknown argument class: long,什么原因呢?
根据官方文档 argument-types,Java和JavaScript的数据类型的对应关系如下:
Boolean -> Bool
Integer -> Number
Double -> Number
Float -> Number
String -> String
Callback -> function
ReadableMap -> Object
ReadableArray -> Array
可以看到,这里是没有Long型数据的对应关系的,查看源码,可以看到确实没有Java的Long型数据的对应关系,RN调用参数类型为Long型的原生方法时,会报错Got unknown argument class: Long,React Native的Github库下也有相应的 issue
解决方案
在定义Android原生模块的参数时,不要使用Long型数据,而是使用Double类型的,需要时可以强转成Long型的
或者使用String型的数据,然后Parse成Long型的。












网友评论