React事件机制总览

React并不像其他框架一下,将事件回调函数直接注册在了相应的DOM节点上。React中如何进行事件响应呢?这个过程说来就复杂了。在之前已经介绍过了组件的事件绑定,也就是putListener阶段。React框架实现了一套跨平台的事件代理系统,其工作流程如下:

1 在框架初始化时,注册基础事件插件 2 在组件挂载时,将其回调函数相关信息保存到CallbackRegister中 3 当某事件触发,由于几乎所有的顶层事件类型都在document上进行了注册,因此顶层事件类型的监听器此时会先起作用 4 顶层事件监听器响应之后,会先将原生事件对象进行规范化处理 5 根据正规化的事件对象,React框架根据事件的target对象找到相应的React组件和组件的DOMNodeID 6 原生事件、事件目标组件、目标DOMID等信息会被传递给事件插件中心(EventPluginHub),由事件插件中心调度相应的插件处理,生成对应的abstractEvents队列,事件的回调函数也记录在AbstractEvent上 7 事件插件中心集中处理所有的abstractEvent对象

大的步骤分为如上七个,其实每一步又十分复杂,接下来分章节对这七个步骤进行详细阐述。

results matching ""

    No results matching ""