您的位置:首页 > Web前端 > React

react-native 自定义原生view事件

2016-10-17 14:30 459 查看
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));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息