react-native创建原生模块
发布时间:2020-12-15 08:24:15 所属栏目:百科 来源:网络整理
导读:react-native文档未更新,照着文档实现还是坑了不少,记录下基本步骤。 1,继承ReactContextBaseJavaModulea,getName:模块名称b,getConstants:常量映射c,@ReactMethod注解暴露java方法public void show(String message,int duration) { Toast.makeText(get
react-native文档未更新,照着文档实现还是坑了不少,记录下基本步骤。 1,继承ReactContextBaseJavaModule a,getName:模块名称 b,getConstants:常量映射 c,@ReactMethod注解暴露java方法 public void show(String message,int duration) { Toast.makeText(getReactApplicationContext(),message,duration).show(); } 2,注册原生模块 a,提供一个ReactPackage(继承ReactPackage) b,public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) 添加原生模块。 public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) { List<NativeModule> modules = new ArrayList<>(1); modules.add(new MyToast(reactContext)); return modules; } c,注册包(ReactPackage) 1),ReactInstanceManager.addPackage原生实现的ReactPackage; 2),ReactApplication重写getPackages. protected List<ReactPackage> getPackages() { return Arrays.<ReactPackage>asList( new MainReactPackage(),new MyReactPackage() ); } 3,js使用 a,js引入原生模块 var { NativeModules } = require('react-native'); var MyToast = NativeModules.MyToast; b,调用 MyToast.show('you click me!',MyToast.SHORT); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |