Notes

事件触发

一句话结论:一次事件触发大致经历“原生事件到达根监听器 → 定位目标 Fiber → 插件提取 SyntheticEvent → 收集 listeners → 生成 dispatch 队列 → 按阶段执行回调”。

1. 从原生事件到 Fiber

  • 根监听器收到原生事件
  • 通过事件 target 找到对应的 DOM 节点,再映射到 Fiber(或最近的 Fiber)

2. 插件提取与队列化

  • 插件根据事件类型提取 SyntheticEvent
  • 沿 Fiber 路径收集监听器(capture/bubble)
  • 形成 dispatchQueue(事件 + listeners 列表)

3. 执行与更新优先级

  • 按 capture → bubble 执行回调
  • 回调里的更新会被赋予相应事件优先级(进而映射到 lane)

关联阅读

cd ..