react-native 自定义原生view事件

前端之家收集整理的这篇文章主要介绍了react-native 自定义原生view事件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

react-native文档未更新,照着文档实现还是坑了不少,记录下基本步骤。

1,继承实现com.facebook.react.uimanager.events.Event类MyEvent
getViewTag:接受事件view,传view.getId()
getEventName:事件名称
dispatch:产生方法
@Override
public void dispatch(RCTEventEmitter rctEventEmitter) {
    rctEventEmitter.receiveEvent(getViewTag(),getEventName(),serializeEventData());
}
2,在ViewManager必须实现方法getExportedCustomDirectEventTypeConstants
    public @Nullable
    Map getExportedCustomDirectEventTypeConstants() {
        return MapBuilder.builder()
                .put("onUpdateView",MapBuilder.of("registrationName","onUpdateView"))
                .build();
    }

3,触发
reactContext.getNativeModule(UIManagerModule.class).getEventDispatcher().dispatchEvent(new MyEvent(getId(),SystemClock.nanoTime(),rowId));

猜你在找的React相关文章