React Native基础知识

学习文档: 卤蛋实验室分享 50 个完整的 React Native 项目

1 RN与原生端通信

官方文档:Android 原生模块

1.1 前言

React Native和客户端原生可以通过扩展React Native Module(下面简称原生模块接口)的形式进行通讯或增强React Native的功能,使用原生模块接口在两端之间进行通讯是异步的,所以所有的调用都是没有返回结果的,但是客户端可以通过回调的方式通知React Native。

1.2 使用
import { NativeModules } from 'react-native';

NativeModules.Core.openUrl() // 地址跳转
NativeModules.UI.toast() // toast弹窗

主要工作量在于原生端写好java代码,RN端直接调用即可。

2 CodePush

官方文档:CodePush

react-native-code-push:React Native 热更新

CodePush 是提供给 React Native 和 Cordova 开发者直接部署移动应用更新给用户设备的云服务。CodePush 作为一个中央仓库,开发者可以推送更新 (JS, HTML, CSS and images),应用可以从客户端 SDK 里面查询更新。CodePush 可以让应用有更多的可确定性,也可以让你直接接触用户群。在修复一些小问题和添加新特性的时候,不需要经过二进制打包,可以直接推送代码进行实时更新。

需要原生端(Android/iOS)和RN端进行配置,rn端主要api:

// 检测是否有更新包可用
codePush.checkForUpdate(deploymentKey: String = null, handleBinaryVersionMismatchCallback: (update: RemotePackage) => void): Promise<RemotePackage>;

// 获取本地最新更新包的属性
codePush.getCurrentPackage(): Promise<LocalPackage>;

// 重启app(即使不用在 Hot Updating,也挺有用的)
codePush.restartApp(onlyIfUpdateIsPending: Boolean = false): void;

// 手动进一次更新
codePush.sync(options: Object, syncStatusChangeCallback: function(syncStatus: Number), downloadProgressCallback: function(progress: DownloadProgress), handleBinaryVersionMismatchCallback: function(update: RemotePackage)): Promise<Number>;

简单步骤参考:RN 项目整合 CodePush 完全指南

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值