React Native Android自定义视图能够在ViewManager
子类中以两种不同的方式声明事件:
getExportedCustomBubblingEventTypeConstants()
getExportedCustomDirectEventTypeConstants()
这两种类型的事件有什么区别?
如果我尝试将事件从Android自定义视图onClick(View v)
方法发送到我的视图的JS表示形式,我将使用哪些方法来声明我的自定义事件名称?
跟进:我最终using a "direct" event to send a click from my Android view back to my JS component。这非常有效,但我仍然想知道"冒泡"事件就是这样。
答案 0 :(得分:0)
感谢您的回答https://stackoverflow.com/a/44207488/2881112 我能够掌握如何在 Android 中处理本机事件。
经过大量实验后,我发现了这一点。
基本上有两种类型的事件
示例:
如果我在自定义视图组件 getExportedCustomDirectEventTypeConstants
上为 onClick 事件定义 CustomView
这样就行了
<CustomView onClick={() => console.log("Hello")}/>
但不是这个
<Pressable onPress={() => console.log("Hello")}>
<CustomView/>
</Pressable>
但是如果我使用
getExportedCustomBubblingEventTypeConstants
然后这两个工作
<CustomView onClick={() => console.log("Hello")}/>
和
<Pressable onPress={() => console.log("Hello")}>
<CustomView/>
</Pressable>