我有一个 react native 代码。我用它来将数组传递给 native 模块,并且我想在 native 模块上处理它,
ReadableArray 示例:
{"AuditScheduleDetailID":5525,"AuditAnswerId":33,"LocalFindingID":1,"LocalMediaID":1,"ExtFiles":"jpg"}
我想获取里面键的每个值 - 我该怎么做?
我已经尝试过this article但我不太明白。
我现在只是像这样硬编码它:
@ReactMethod
public void insert(ReadableArray name, String file) {
DatabaseHandler db = new DatabaseHandler(getReactApplicationContext());
String a = "path to file";
for(int i=0 ; i<name.size(); i++){
//expected result
int audit = 5525 //from AuditScheduleDetailID value
int answer = 33 // from AuditAnswerId value
int finding = 1 // from LocalFindingID value
int media = 1 // from LocalMediaID value
String exten = "jpg" // from ExtFiles value
db.addContact(new Contact(audit, answer, finding, media, exten));
}
}
有没有办法从可读数组key
中获取每个值
?
最佳答案
在 javascript 上,您调用此方法只是作为对象传递
import { NativeModules } from 'react-native';
NativeModules.<<ModuleName>>.insert({"AuditScheduleDetailID":5525,"AuditAnswerId":33,"LocalFindingID":1,"LocalMediaID":1,"ExtFiles":"jpg"}, <<fileName>>);
修改您的 react 方法以接受 ReadableMap
而不是 ReadableArray
@ReactMethod
public void insert(ReadableMap readableMap, String file) {
String auditScheduleDetailID = readableMap.getString("AuditScheduleDetailID");
String auditAnswerId = readableMap.getString("AuditAnswerId");
String localFindingID = readableMap.getString("LocalFindingID");
String localMediaID = readableMap.getString("LocalMediaID");
String extFiles = readableMap.getString("ExtFiles");
//your logic
}
关于java - React Native - 如何将可读数组从 React Native 映射到 Android 中的 native 模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48619067/