android - 如何在 React Native 中添加 Native Bridge Android 的默认值
问题描述
我有一些服务需要通过用户输入或给定默认值重复启动,所以我需要添加参数来处理它,
我试过这个:
@ReactMethod
public void start(){
start(1000);
}
@ReactMethod
public void start(int timer){
Intent i = new Intent(reactContext, ServiceUploadData.class);
i.putExtra("Interval", timer);
reactContext.startService(i);
}
但那些代码显示错误
开始有 0 个参数,预期为 1
任何人都可以帮助我吗?
解决方案
虽然我没有在文档中看到它,但我在代码中看到了这个
我们不支持方法重载,因为 js 将函数视为对象,而不管参数的数量。
要解决此问题,您可以执行以下操作之一。
- 将 的名称更改
public void start()
为public void startWithDefault()
- 仅在 JavaScript 端公开
public void start(int timer)
并处理初始值 - 公开两个函数(具有不同的名称),然后将它们包装在一个 JavaScript 函数中,该函数使用 an
if
检查初始值是否已设置,然后调用适当的函数。
第二个和第三个选项允许您保持您的 api 对用户相同,因为他们只会与 JavaScript 交互。
推荐阅读
- javascript - 为什么在JS中使用for循环遍历数组时页面会报错?
- javascript - 赛普拉斯:在 JSON 响应中存根特定键
- python - 如何将 sympy“向量”转换为 numpy 数组?
- python - 如何在 Dask 中舍入无索引数据框?
- android - Android Room:创建一对一关系实体
- c++ - fib 函数与模板有什么区别?
- javascript - 单击嵌套元素时如何触发相同的事件
- android - 为什么只有某些编译器应用程序才能写入内部存储?
- jquery - 想要选中的下拉菜单
- ssas-tabular - 部署 ssas 表格多维数据集后,我在任何文件夹下都看不到任何对象。你能帮我解决这个问题吗