在Swift中,React Native有一个事件发射器模式,其范围限定为模块级别,如下所示。
class MyModule : RCTEventEmitter {
@objc
func rnMethod(){
self.sendEvent(withName: "EventName" , body: "something")
}
}
Android是否与此相当?到目前为止我发现的最好的是一个在iOS中被弃用的全局变体,如下所示:
fun rnMethod(){
val eventEmitter = reactContext.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter::class.java) as DeviceEventManagerModule.RCTDeviceEventEmitter
eventEmitter.emit(event.eventName, context)
}