事件触发
一句话结论:一次事件触发大致经历“原生事件到达根监听器 → 定位目标 Fiber → 插件提取 SyntheticEvent → 收集 listeners → 生成 dispatch 队列 → 按阶段执行回调”。
1. 从原生事件到 Fiber
- 根监听器收到原生事件
- 通过事件 target 找到对应的 DOM 节点,再映射到 Fiber(或最近的 Fiber)
2. 插件提取与队列化
- 插件根据事件类型提取 SyntheticEvent
- 沿 Fiber 路径收集监听器(capture/bubble)
- 形成 dispatchQueue(事件 + listeners 列表)
3. 执行与更新优先级
- 按 capture → bubble 执行回调
- 回调里的更新会被赋予相应事件优先级(进而映射到 lane)