react native iOS 交互 组件

使用发送通知的做法:

iOS端

继承rn类 实现代理

react native iOS 交互 组件_第1张图片

实现的是照片选择功能,导入发送通知的包

#import "RCTEventDispatcher.h"

定义

@synthesize bridge = _bridge;

导出类 没有参数默认是类名

RCT_EXPORT_MODULE();

导出方法

RCT_EXPORT_METHOD(openNativePhoto:(NSString *)name callBack:(RCTResponseSenderBlock)callback)

{

//选择相册省略

//callback可以回传值回去 但是相册在这里取不到照片 需要实现代理方法 所以这是一个测试方法 

//  callback(@[[NSNull null],@"dasauto"]);

}

//选择相册的代理方法

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary*)info{  

//省略。。。

//发送通知

 [self sendEventWithName:@"EventReminder"                                              body:@{@"name": [info[UIImagePickerControllerReferenceURL] absoluteString]}]; 

}

//通知名称 有多少写多少  取值的时候按照这个名称取值(理解为字典)

- (NSArray*)supportedEvents

{

return @[@"EventReminder"];//有几个就写几个

}

js端

import{NativeEventEmitter}from'react-native';

constmyNativeEvt =newNativeEventEmitter(HWRCTLinkController);//创建自定义事件接口

varsubscription = myNativeEvt.addListener(

'EventReminder',

(reminder) =>console.log(reminder.name)

)

// 千万不要忘记忘记取消订阅, 通常在componentWillUnmount函数中实现。

subscription.remove();

你可能感兴趣的:(react native iOS 交互 组件)