嘿,各位代码界的“泥瓦匠”和“架构师”们,大家好! 今天我们不讲怎么写一个 Hello World,也不讲怎么把你的 React 组件封装成一个漂亮的 UI 库。我们要聊点“底层”的,聊聊那些当你点击屏幕时,在你看不见的地方疯狂奔跑的幽灵——React 合成事件系统。 很多人觉得 React 事件很简单:“不就是 onClick 吗?我写上去,React 就处理。” 呵呵,天真。你看到的 onClick 只是个糖衣炮弹,真正的战场在底层,在 Fiber 节点之间,在浏览器和 JavaScript 的夹缝中。 今天,我就要剥开 React 的外衣,带你看看从你手指敲击键盘的那一刻,到事件处理器被调用的这一路,到底发生了什么“血雨腥风”。 第一部分:原生事件的“狗血”历史 在 React 出现之前,我们是怎么处理事件的? 如果你是个老司机,你一定记得那个年代:IE6 还在统治世界,Chrome 还在穿开裆裤。那时候,浏览器对事件的支持简直就是“精神分裂”。 标准浏览器(Firefox, Chrome):使用 addEventListener,事件名是 click,事件对象是 Event。 …
继续阅读“React 合成事件系统(SyntheticEvent):从浏览器原生事件到 Fiber 节点的委托映射路径”