Praneeth
Praneeth

Reputation: 637

Exception in 'NativeModules': java.lang.RuntimeException: Got unknown argument class: Object

I am trying to call a native ReactMethod from react native but it is throwing the following error:

C++ Exception in 'NativeModules': java.lang.RuntimeException: Got unknown argument class: Object

This is how I have the method defined in android:

@ReactMethod
public void setItem(String key, Object value) {
    // code
}

This is how i am calling this method:

MyModule.setItem("mykey", "1234567890");

I wonder if ReactMethod supports object type as parameter or not? Because I want to set any type of item.

Upvotes: 10

Views: 9143

Answers (2)

idearibosome
idearibosome

Reputation: 684

You can use Dynamic type, which is actually not documented.

Upvotes: 1

Stofkn
Stofkn

Reputation: 1488

According to the documentation, the following argument types are supported for methods annotated with @ReactMethod. The argument types directly map to their JavaScript equivalents.

Boolean -> Bool
Integer -> Number
Double -> Number
Float -> Number
String -> String
Callback -> function
ReadableMap -> Object
ReadableArray -> Array

In your case you could use a ReadableMap as argument, which maps on the JavaScript Object type.

Upvotes: 15

Related Questions