2017-09-14 105 views
0

我试图从原生Android传递数据到React Native。数据是由应该分派的操作组成的对象数组。 例如何将Android的对象数组传递给React Native?

{ 
    "actions: [ 
    { 
     "authenticationType: "strong", 
     "type: "AUTHENTICATION_URL", 
     "url: "https://foo.bar/", 
    }, 
    ], 
} 

我试图使用com.facebook.react.bridge.Arguments类做类似的东西

val arguments = Arguments.createMap().apply { 
    putString("path", "general/authentication") 
    putArray("actions", 
      Arguments.fromList(listOf(
        mapOf("authenticationType" to "strong", 
         "type" to "AUTHENTICATION_URL", 
         "url" to url 
        )))) 
} 

,但它只会导致

09-14 20:08:53.996 10437 10437 I zygote : Thread[1,tid=10437,Native,Thread*=0xb18da000,peer=0x73d2f568,"main"] recursive attempt to load library "/data/app/com.getdreams-MO6VYrPeHVgAkBP2ori8SA==/lib/x86/libfb.so" 

不确定如何创建JavaScript对象的数组。

有没有人有任何建议,或许可以更好地使用com.facebook.react.bridge.Arguments

回答

0

我没有使用Arguments类后解决了这个只有几分钟,像这样

val action = Arguments.makeNativeMap(
    mutableMapOf("authenticationType" to "strong", 
       "type" to "AUTHENTICATION_URL", 
       "url" to url) as Map<String, Any>) 

val actionArray = Arguments.makeNativeArray(listOf(action)) 

val arguments = Arguments.createMap().apply { 
    putString("path", "general/authentication") 
    putArray("actions",actionArray) 
} 
相关问题