React Native中ReadableArray无法放入Map?如何解决“null illegal type provided”错误?

2024-11-30 00:30:58 编辑:抖狐科技 来源:摘自互联网

React Native中ReadableArray无法放入Map?如何解决“null illegal type provided”错误?

react native中无法将readablearray放入map的解决方法

在react native中,使用readablearray向android传递参数时,如果直接将其放入writablemap中会产生“null illegal type provided”错误。这是因为writablemap仅支持存放特定类型的对象,而readablearray不在其中。

要解决此问题,可以将readablearray转换为writablearray,然后将其放入writablemap中。以下是一些可用的转换方法:

通用的转换方法:

private static writablemap convertmap(readablemap map) {
    writablemap temp = arguments.createmap();
    temp.merge(map);
    return temp;
}

private static writablearray convertarray(readablearray array) {
    writablearray temp = arguments.createarray();
    
    for (int i = 0; i < array.size(); i++) {
        readabletype type = array.gettype(i);
        switch (type) {
            case null:
                temp.pushnull();
                break;
            case boolean:
                temp.pushboolean(array.getboolean(i));
                break;
            case number:
                temp.pushdouble(array.getdouble(i));
                break;
            case string:
                temp.pushstring(array.getstring(i));
                break;
            case array:
                temp.pusharray(convertarray(array.getarray(i)));
                break;
            case map:
                temp.pushmap(convertmap(array.getmap(i)));
                break;
            default:
                throw new exception("illegal type provided");
        }
    }
    
    return temp;
}

登录后复制

写入步骤:

将readablearray转换为writablearray后,可以使用以下方法将其放入writablemap中:

map.putArray("key", convertArray(params));

登录后复制

通过这些步骤,即可将readablearray安全地放入writablemap中,从而解决错误。

以上就是React Native中ReadableArray无法放入Map?如何解决“null illegal type provided”错误?的详细内容,更多请关注抖狐科技其它相关文章!

本站文章均为抖狐网站建设摘自权威资料,书籍,或网络原创文章,如有版权纠纷或者违规问题,请即刻联系我们删除,我们欢迎您分享,引用和转载,我们谢绝直接复制和抄袭!感谢...
我们猜你喜欢