反応ネイティブコードを0.28から0.30に更新した後、イベントをJavascriptに戻すための推奨方法はサブクラス化で、古い方法は推奨されていません。反応ネイティブでRCTEventEmitterを使用してイベントコールバックを受信する方法
- (void)startObserving{}
- (void)stopObserving{}
- (NSArray<NSString *> *)supportedEvents{
return @[@"someInterestingEvent"];
}
-(void)interestingEventHappen{
[self sendEventWithName:@"someInterestingEvent" body:nil];
}
問題は、イベントを登録するだけでなく、コールバックを受け取る方法です。 RCTEventEmitter
にはメソッドRCT_EXPORT_METHOD(addListener:(NSString *)eventName)
が公開されていますが、1つの引数(イベント名)しか受け取りません。何もありませんし、登録されていないリスナーにsomeInterestingEvent
を送る黄色のボックスのcomplainesと
NativeAppEventEmitter.addListener('someInterestingEvent',()=>{});
:私は、ドキュメントを試してみました。
私は何かを見逃しましたか?