React Native在跟安卓原生交互的数据类型中,有两个类型会经常被用的:ReadableMap和WritableMap,在讲解ReadableMap和WritableMap之前先看看Java于RN的类型的对应关系。
Boolean -> Bool
Integer -> Number
Double -> Number
Float -> Number
String -> String
Callback -> function
ReadableMap -> Object
ReadableArray -> Array
由上面的对应关系可以发现,ReadableMap 和 ReadableArray类型对应JavaScript的Object和Array。 其中,ReadableMap一般是用于RN向原生传递的数据类型。例如:
@ReactMethod
public void getData(ReadableMap map, Callback callback{
ReadableNativeMap map2 = (ReadableNativeMap) map;
map1 = map2.toHashMap();
}
WritableMap一般是用于从原生给RN传递数据类型。
@ReactMethod
public void setData(Callback callback){
WritableMap map = Arguments.createMap();
map.putBoolean("success", true);
callback.invoke(map);
}
然后在JS端调用的代码如下:
ReactWithNativeBridgeManager.setData(function(result) {
console.log(resule.success);
})