rn源码ios_RN和IOS原生端交互

1.RCTBridgeModule

#import

#import "RCTBridgeModule.h"

#import

@interface IOSHandler : NSObject

@end

//~~~~~~~~~~~~~~~~~~~~~~~~~

#import "IOSHandler.h"

@implementation IOSHandler

RCT_EXPORT_MODULE();

//goPage 名称 ,astring 参数 resolver 成功回调 reject 失败回调

//多个调用需要修改 astring 参数为其他名称,否则会报错

RCT_REMAP_METHOD (goPage,

astring:(NSString *) str

resolver:(RCTPromiseResolveBlock)resolver

rejecter:(RCTPromiseRejectBlock)reject) {

NSUserDefaults * userDefaults = [NSUserDefaults standardUserDefaults];

id goPageTag = [userDefaults objectForKey:@"skip_url"];

if (goPageTag!=nil) {

NSString * temp = goPageTag;

if([temp isEqualToString:@"ZYRCB"]) {

temp =@"B2C";

} else if ([temp isEqualToString:@"ZYO2O"]) {

temp = @"O2O";

}

resolver(@{@"START_FLAG":@"ZYRCB",@"flag": temp});

}else {

reject(@"400",@"",nil);

}

}

RN调用

var IOSHandler = require('react-native').NativeModules.IOSHandler;

IOSHandler.goPage('').then((jsonObject) =>{

}

});

View Code

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值