gpt4 book ai didi

android - React Native Android 自定义 View 中的 "bubbling"与 "direct"事件

转载 作者:行者123 更新时间:2023-12-04 09:26:43 25 4
gpt4 key购买 nike

React Native Android 自定义 View 能够以两种不同的方式在 ViewManager 中声明事件子类:

  • “冒泡”事件通过 getExportedCustomBubblingEventTypeConstants()
  • “直接”事件通过 getExportedCustomDirectEventTypeConstants()

  • 这两种类型的事件有什么区别?

    如果我尝试从 Android 自定义 View 发送事件 onClick(View v)方法直到我的 View 的 JS 表示,我将使用这些方法中的哪一个来声明我的自定义事件名称?

    跟进:我结束了 using a "direct" event to send a click from my Android view back to my JS component .这工作得很好,但我仍然想知道“冒泡”事件的全部内容。

    最佳答案

    感谢您在这里的回答 https://stackoverflow.com/a/44207488/2881112
    我能够掌握如何在 Android 中处理 native 事件。
    经过大量实验,这是我发现的。
    基本上有两种类型的事件

  • 直接事件——这似乎只影响自定义原生组件
  • 冒泡事件 - 如果 native 组件未处理此事件,则此事件将冒泡到父组件直到其处理。

  • 例子:
    如果我定义 getExportedCustomDirectEventTypeConstants用于我的自定义 View 组件上的 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>

    关于android - React Native Android 自定义 View 中的 "bubbling"与 "direct"事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44200334/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com