返回
React Native iOS混合开发实战教程 | 跨端开发中的坑与解
前端
2023-12-21 06:28:12
在做RN开发的时候通常离不了JS 和Native之间的通信,比如:初始化RN时Native向JS传递数据,JS调用Native的相册选择图片,JS调用Native的模块进行一些复杂的计算,Native将一些数据(GPS信息,陀螺仪,传感器等)主动传递给JS等。 接下来我将分场景…
RN与Native通信
-
Native向JS传递数据
- 使用
RCTBridge
类向JS传递数据 - 使用
RCTEventEmitter
类向JS发送事件
- 使用
-
JS调用Native的相册选择图片
- 使用
ImagePickerIOS
组件 - 使用
CameraRoll
组件
- 使用
-
JS调用Native的模块进行一些复杂的计算
- 使用
NativeModules
类 - 使用
requireNativeModule
函数
- 使用
-
Native将一些数据(GPS信息,陀螺仪,传感器等)主动传递给JS
- 使用
RCTEventEmitter
类 - 使用
RCTDeviceEventEmitter
类
- 使用
iOS原生模块
-
创建iOS原生模块
- 使用Objective-C或Swift语言创建类
- 使用
RCT_EXPORT_MODULE()
宏导出类
-
使用iOS原生模块
- 在JS代码中使用
requireNativeModule
函数 - 在JS代码中使用
RCTDeviceEventEmitter
类
- 在JS代码中使用
JS和Native数据交互
-
JS向Native传递数据
- 使用
RCTBridge
类向Native传递数据 - 使用
RCTEventEmitter
类向Native发送事件
- 使用
-
Native向JS传递数据
- 使用
RCTBridge
类向JS传递数据 - 使用
RCTEventEmitter
类向JS发送事件
- 使用
开发实战
-
创建一个简单的RN应用
- 创建一个新的Xcode项目
- 在项目中添加RN库
- 创建一个简单的RN组件
- 在Xcode中运行应用
-
将RN应用集成到现有iOS应用中
- 在现有iOS应用中添加RN库
- 创建一个新的RN组件
- 在Xcode中运行应用
-
使用RN开发跨平台应用
- 创建一个新的RN项目
- 为iOS和Android平台创建构建配置
- 在Xcode和Android Studio中运行应用