RN与iOS 的交互

  • 项目中FJGRNRouterManager是用于与iOS 的交互统一文件配置

.h文件:导入头文件,实现RCTBridgeModule协议

#import <Foundation/Foundation.h>
#import <React/React-umbrella.h>
@interface FJGRNRouterManager : NSObject<RCTBridgeModule>
@end

.m文件:RCT_EXPORT_METHOD(方法名字)RN通过方法名字(loading)以及传递出来的参数(touch)到原生中调用原生的方法

#import "FJGRNRouterManager.h"
#import "FJGRNRoute.h"
@implementation FJGRNRouterManager
#pragma mark --- react native 回调函数
RCT_EXPORT_METHOD(loading:(BOOL)touch){
   [FJGRNRoute shareInstance].currentViewController loading:touch];
}
@end

RN中调用原生的方法:

// 导入头文件
import {
    NativeModules   
} from 'react-native';

// 获取原生类
var RNVC = NativeModules.FJGRNRouterManager;

// 调用原生
RNVC.loading(false)
  • 通知进行交互

iOS端:

[self.bridge.eventDispatcher sendAppEventWithName:LOGIN_NOTIFICATION body:@{@"id":@([ZYUserModel shareUserModel].id)}];

RN端:

NativeAppEventEmitter.addListener('loginNotification', (userInfo) => {
        RNVC.Cookie = userInfo.Cookie
 })
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容