Objective c 如何在React native中使用回调?
我试着关注Facebook的文档,但不幸的是,他们没有解释如何使用,以及在哪里使用。 我想做一个回调工作的示例 我像文档中那样做了,目前面临的问题是:“this.setState不是函数。(在this.setState({events:events})中,this.setState是未定义的) 如果有人能帮我,我将不胜感激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
编辑:
我设法解决了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方法。