前言
有时候可能由于业务的需求需要实现某些功能,但因为React Native上可能还没有相应的组件或第三方库提供使用,这时候可以通过访问原生平台上的API接口,去实现一些React Native上还没有的功能。
链接原生模块步骤
打开项目文件夹/android/app/java/目录下的包新增两个类。
(1)一是MyNativeModule类(名字自定义)并继承ReactContextBaseJavaModule,用来存放需要在React Native中调用的方法。如下图所示:
(2)一是MyReactPackage类(名字自定义)并实现接口ReactPackage包管理器,并把在第一步中创建的类加到原生模块NativeModule列表里。如下图所示:

(3)把在第二步中创建的包管理器添加到ReactPackage列表里(指在getPackage方法里面)
(4)在React Native中调用原生模块。
MyNativeModule.java代码如下:
1 | |
MyReactPackage.java代码如下:
1 | |
MainApplication.java代码如下:
1 | |
MainActivity.java代码如下:
1 | |
接着需要在RN中import原生模块

最后在相应的位置调用即可:
1 | |
总结&理清流程
- (1)在配置文件
AndroidManifest.xml中,android:name=".MainApplication”,则MainApplication.java会执行。- (2)在
MainApplication.java中,有我们创建的包管理器对象。程序加入MyReactPackage.java中。- (3)在
MyReactPackage.java中,将我们自己创建的模块加入了原生模块列表中,程序进入MyNativeModule.java中。- (4)在
MyNativeModule.java中,有我们需要被复用的原生方法rnCallNative( )。