小编S. *_*Pan的帖子

如何从React Native组件中的Java模块返回数组?

我写这是为了回答我自己的问题,因为文档没有明确说明这一点,并且在堆栈溢出或其他任何地方都找不到它。这是将String数组从Java模块返回到React Native Component的方法(从我的个人项目中的代码简化)。

CPPConnection.java文件

public class CPPConnection extends ReactContextBaseJavaModule {
@ReactMethod
    public void GetDerivedUnits(String scheme,final Promise promise){
        try {

            List<String> returnSet = new ArrayList<String>();
            //Set first value so that there is a lead value
            returnSet.add("");
            returnSet.add(scheme);
            returnSet.add("lb");
            returnSet.add("kg");
            String[] returnArray = new String[returnSet.size()];
            returnArray = returnSet.toArray(returnArray);

            WritableArray promiseArray=Arguments.createArray();
            for(int i=0;i<returnArray.length;i++){
                promiseArray.pushString(returnArray[i]);
            }

            promise.resolve(promiseArray);
        }
        catch(Exception e){
            promise.reject(e);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Density.js文件

export default class Density extends Component{
...
constructor(props) {
    super(props);
    this.state = {
      mass: '',
      massUnits:[],
      volume: '',
      volumeUnits:[], …
Run Code Online (Sandbox Code Playgroud)

java android-studio react-native native-module

4
推荐指数
1
解决办法
1749
查看次数