Skip to content
罗坤 edited this page Mar 6, 2020 · 1 revision

com.facebook.react.uimanager.events.Event.java

一种可以被派送(dispatch)到JS层的UI事件(react native事件基础)。

请使用EventDispatcher #dispatchEvent派送事件。一旦将事件对象传递给EventDispatched后就不能再被使用,因为EventDispatcher可以决定回收该对象(通过调用#dispose)

String abstract getEventName

抽象方法 🚩返回在JS中注册的此事件的名称

abstract dispatch

🚩使用给定的事件发射器dispatch(RCTEventEmitter rctEventEmitter)将此事件分配给JS。

init

在将事件发送到事件分派器之前,需要调用此方法。

int getViewTag

🚩返回生成此事件的视图的视图ID

long getTimestampMs

在{@link android.os.SystemClock #uptimeMillis}中返回事件发生的时间基准(time base)。

boolean canCoalesce

如果此事件可以永远不被合并(coalesced),返回false

T coalesce

给定两个事件,将它们合并为一个事件,而不是两个单独的事件,这些事件将被发送到JS。默认情况下,只需选择一个最近的事件即可;如果时间戳相同,则选择{@code this}。   只会尝试合并两个事件具有相同的事件名称,视图ID或合并键

short getCoalescingKey

返回用于确定可以与该事件合并的其他此类事件的键。例如,触摸移动事件仅应在单个手势中合并,因此合并键将具有唯一的手势ID

int getUniqueID

返回此事件的唯一ID

onDispose

当EventDispatcher完成某个事件时调用,该事件可以是已调度事件,也可以是和另一个事件合并后的事件