React Native(简称RN)开发的app大部分都可以在JS端完成,但是也有一些复杂的功能是需要原生端来完成的,或者是在原生项目中集成RN,此时RN与原生端就不可避免的需要进行交互,比如页面跳转和数据传递。
关于RN与原生更深层次的调用原理,及如何自己封装RN的原生组件,可以参考《React Native移动开发实战》(ps:白皮版)。原生跳转RN是非常简单的,本文不做讲解,本文主要分析其他的运用场景。
RN跳转原生页面使用“react-native init”命令创建一个RN项目,新创建的项目包含了android和iOS的原生项目,如果有原生的代码可以在原生项目中编写,RN的代码则单独放到相应的JS文件中。从RN跳转到原生,其实是在原生端创建Module类通过桥接的方式导出到JS端供JS代码调用原生端代码来实现的。
跳转到Android原生对于Android平台来说,要完成RN跳转到Android原生的功能,主要会涉及以下几个步骤:
1. 定义Module类,该类继承ReactContextBaseJavaModule 在Module类中,重写getName方法声明Module类名称,创建相关方法用来做页面跳转。
public class OpenNativeModule