当前位置: 首页 > 网络应用技术

React事件机制的基础原理

时间:2023-03-06 14:42:00 网络应用技术

  这是一个平淡而简单的演示。我们看到绑定了onchange元素的Onchange事件。当我们将其定位到此DOM元素时,我们发现React已添加了输入,键盘,模糊,变更和其他事件,并且这些事件已绑定到文档,并且不绑定到我们的输入元素。那么React React有什么?

  首先,我们必须理解React中的事件不是本地事件。如何合成它?我们知道我们知道源代码。当我们中断调试时,我们将首先从这些事情中出现。首先,我们看到了此功能,这将出现在第一次React-Dom运行时出现。其主要角色初始化了某些事件的某些事件。让我们使用TraceeeVentPlugin简单地分辨出主要使用的内容。

  依赖项属性主要告诉我们,更改事件取决于其下面的某些事件来综合。PhaseedRegificiencenameNames是通过冒泡或捕获两个阶段来处理的。React将在不同阶段调用不同的处理方法。

  这两个对象的形成是在差异过程中更好地处理事件。

  如果在DIFF过程中检测到该插件,则注册namemodules主要致电这些插件进行处理。

  确定合成事件取决于那些注册表事件的事件取决于依赖于与事件相对应的本机事件的事件。

  到目前为止,我们的React事件已绑定并与文档对象结合。

  因为我们在文档上绑定了事件,所以当我们单击时,我们必须知道哪个元素触发了此事件,但是还有一个问题,我们如何找到我们在代码中编写的事件处理函数,因为我们的事件处理函数功能功能功能,它是由对相应纤维对象的反应初始化的,因此如何通过DOM元素找到相应的光纤对象,这就是我们需要讨论的内容。

  这就是React找到相应的光纤对象的方式。本机DOM及其相应的纤维对象存在于问题中。本机DOM指向通过内部唯一的键对应于DOM的光纤,而光纤中史坦元的对应的天然也是原始的Nativedom对象。因此,我们可以找到我们在React中写的处理功能。本机dom-> fiber-> MemoizedProps实际上在冒泡时正在寻找父组件。如果父组件具有此事件,请将其添加到事件中。_disPatchListenener,然后遍历此数组以获取回调,然后触发事件。这是原因。

  好吧,我们的React事件绑定机制已经完成。如果您有任何意见或建议,请告诉我。

  原始:https://juejin.cn/post/710302189219322669