集成到现有原生应用
把 React Native 组件集成到 Android 应用中有如下几个主要步骤:
配置好 React Native 依赖和项目结构。
创建 js 文件,编写 React Native 组件的 js 代码。
在应用中添加一个RCTRootView。这个RCTRootView正是用来承载你的 React Native 组件的容器。
启动 React Native 的 Packager 服务,运行应用。
验证这部分组件是否正常工作。
虽然官方文档给出了方法步骤,但是文档过于简单,所以本文还是有一定价值的,接下来就按照这个步骤去完成把RN嵌入到android原生项目中
开发环境准备
AndroidStudio版本3.3.2
ReactNative版本0.58.6
本文是在已经集成了RN开发环境的基础上写的,不知道怎么集成的请参考RN开发环境搭建
第一步:引入react-native
在AndroidStudio的Terminal窗口中输入 npm init,接着会提示你输入一些东西(除了项目名字其他都可直接回车使用默认值),如下图
当我们输完的时候将工程切换到project模式下,可以看到工程多了一个package.json的文件
看到这个文件有一种很熟悉但又陌生的感觉,这个和我们build.gradle中的配置是一样的作用,其实就是配置工程的一些属性.
第二步:添加react和react native模块
在Terminal窗口中输入:npm install --save react react-native并执行,然后就是静静的等待,完成后就可以看到工程多了一个node_modules模块
第三步:添加ReactNative依赖
首先在APP的build.gradle中添加
implementation "com.facebook.react:react-native:+"
其次在工程的build.gradle中添加进入本地ReactNative仓库的路径,但是官方源文档写的路径是
$rootDir/…/node_modules/react-native/android,因为我们通过之前第二步添加的添加react和react native模块,默认是项目的根目录下,而官方文档给出的路径其实是多了“…/”所以这就是一个坑。这里路径应该对应自己工程中module的路径
如下:
allprojects {
repositories {
google()
jcenter()
maven{
url &