Objective c 如何在React native中使用回调?

Objective c 如何在React native中使用回调?,objective-c,react-native,callback,react-native-ios,Objective C,React Native,Callback,React Native Ios,我试着关注Facebook的文档,但不幸的是,他们没有解释如何使用,以及在哪里使用。 我想做一个回调工作的示例 我像文档中那样做了,目前面临的问题是:“this.setState不是函数。(在this.setState({events:events})中,this.setState是未定义的) 如果有人能帮我,我将不胜感激 编辑: 我设法解决了this.setState问题,但我现在的主要问题是如何使这些回调工作 这是文件CalendarManager RCT_EXPORT_METHOD(fi

我试着关注Facebook的文档,但不幸的是,他们没有解释如何使用,以及在哪里使用。 我想做一个回调工作的示例

我像文档中那样做了,目前面临的问题是:“this.setState不是函数。(在this.setState({events:events})中,this.setState是未定义的)

如果有人能帮我,我将不胜感激

编辑:

我设法解决了this.setState问题,但我现在的主要问题是如何使这些回调工作

这是文件
CalendarManager

RCT_EXPORT_METHOD(findEvents:(RCTResponseSenderBlock)callback) {
  NSArray *events;
  events = [NSArray arrayWithObjects:  @"foo", @"bar", nil];
  callback(@[[NSNull null], events]);
}
js中的代码位于文件
index.ios.js

var CalendarManager = NativeModules.CalendarManager;
CalendarManager.addEvent('Birthday Party', '4 Privet Drive, Surrey');
CalendarManager.findEvents((error, events) => {
  if (error) {
    console.error(error);
  } else {
    console.log('Call back works!');
  }
});
编辑2

我设法使回调从objective-c运行到js,现在我如何从js回调到objective-c?

一个objective-c方法

RCT_EXTERN_METHOD(getString:(NSString *)str) {
  NSLog(@"Your String", str) 
}
在JS中,您可以在任意位置调用它,如:

yourNativeModule.getString(“yourstring”)一种Objective-C方法

RCT_EXTERN_METHOD(getString:(NSString *)str) {
  NSLog(@"Your String", str) 
}
在JS中,您可以在任意位置调用它,如:


yourNativeModule.getString(“yourstring”)
请在出现错误或更新问题的地方共享代码。错误和主题名称不匹配。没错,我将重新编辑我的问题“从js回调到objective-c”是什么意思?@marinarroyo我的意思是我想传递一个字符串,例如,从js到objective-c方法。请在出现错误的地方共享代码或更新问题。错误和主题名称不匹配。没错,我将重新编辑我的问题“从js回调到objective-c”是什么意思?@marinarroyo我的意思是我想传递一个字符串,例如,从js到objective-c方法。