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”错误?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号