React Native 与 iOS交互通信

  • 学习React native 与 iOS混编的demo,参照百度糯米开发APP开发。

1、参考官网

  • http://reactnative.cn/docs/0.23/native-modules-ios.html#content

2、React native 与 Swift 互调

1、实现效果:点击React native的ListView的一行,然后 调用Swfit代码的 
addEvent方法(callback:回调js代码执行alert('d'), 然后执行Swift代码进行控制器跳转)
React Native 与 iOS交互通信_第1张图片
效果图:iOS调用回调React native弹框 ‘test’,然后 React 调 Swift点击进行跳转.gif
  • 混编头文件配置,导入需要的头文件


    React Native 与 iOS交互通信_第2张图片
    1.png
React Native 与 iOS交互通信_第3张图片
2.png
typedef void (^RCTResponseSenderBlock)(NSArray *response);
React Native 与 iOS交互通信_第4张图片
3.png
  • js 调用iOS代码;iOS回调处理


    React Native 与 iOS交互通信_第5张图片
    4.png
React Native 与 iOS交互通信_第6张图片
5.png

2、解析:

  • 图中:1. ReactNative 调用iOS代码
    • ManagerBridger.addEvent(......)
   var ManagerBridger = require('react-native').NativeModules.ManagerBridger;
   ManagerBridger.addEvent(titleName, ()=>{
     alert('d');
   });
  • 图中:2. iOS 回调 React native 代码-> 借助RCTResponseSenderBlock 进行回调处理
ManagerBridger.addEvent(titleName, ()=>{
     alert('d');
});

你可能感兴趣的:(React Native 与 iOS交互通信)