react本机插件的java类型检查

rggaifut  于 2021-07-07  发布在  Java
关注(0)|答案(1)|浏览(269)

我们有一个react本地插件,它可以在ios和android上连接本地库。本周,一位客户报告他在使用它时遇到了问题,方法如下(android)

@ReactMethod
public void setUser(String id){
    Core.INSTANCE.setTag("uid", id);
}

我们面临的问题是客户端在js端使用这种方法:

Library.setUser(3321) // Number instead of string

显然,他没有在js方面得到任何错误;它只是忽略了这一行。我的问题是,我是否可以在js端键入check以便客户端得到错误,或者我是否可以以duck类型的方式接受js端的任何内容,然后调用.tostring()或string(x)?
我想让客户知道他必须解决这个问题,或者让方法能够“只工作”任何东西。

z0qdvdin

z0qdvdin1#

我建议您也创建一个js层,并将native和js一起发布。在js模块中,您可以任意方式处理此调用。您可以在那里键入check并显示警告,或者转换为字符串。
另一种选择是作为参数传递,而不是数字,而是对象。然后在java中,您将收到 ReadableMap 这使得转换更加容易。

相关问题