加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

react-native – 有没有类似的方法从Android上的本机模块导出常

发布时间:2020-12-15 16:19:20 所属栏目:百科 来源:网络整理
导读:我一直在使用本机模块的React Native应用程序.能够将原生端定义的枚举导出到JS端会很好.在iOS上,您可以在本机模块中定义constantsToExport方法,如文档 here所示: - (NSDictionary *)constantsToExport{ return @{ @"firstDayOfTheWeek": @"Monday" };} 但是
我一直在使用本机模块的React Native应用程序.能够将原生端定义的枚举导出到JS端会很好.在iOS上,您可以在本机模块中定义constantsToExport方法,如文档 here所示:

- (NSDictionary *)constantsToExport
{
    return @{ @"firstDayOfTheWeek": @"Monday" };
}

但是,在Android上似乎没有这么好的方式.我错过了什么,或者根本没有提供?谢谢!

解决方法

根据文件: http://facebook.github.io/react-native/releases/0.41/docs/native-modules-android.html#native-modules

您不需要将常量放在BaseJavaModule.java中
每个扩展ReactContextBaseJavaModule的类都有一个可选的方法getConstants()

An optional method called getConstants returns the constant values
exposed to JavaScript. Its implementation is not required but is very
useful to key pre-defined values that need to be communicated from
JavaScript to Java in sync.

@Override
  public Map<String,Object> getConstants() {
    final Map<String,Object> constants = new HashMap<>();
    constants.put(DURATION_SHORT_KEY,Toast.LENGTH_SHORT);
    constants.put(DURATION_LONG_KEY,Toast.LENGTH_LONG);
    return constants;
  }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读