GoForum › 🌐 V2EX
想不通, React 现代框架的设计者,为什么内置的 onClick 不默认防抖?
chengguang ·
2026-01-14 10:58 ·
0 次点赞 · 7 条回复
如题,防抖不是刚需吗?为啥不默认融入到 onClick 中,或者通过入参控制不行吗? 开发中每个都加防抖,麻烦死了!!!!
7 条回复
craftsmanship · 2026-01-14 11:03
你都用 react 了 不知道找个相关库用一下吗
shaozelin030405 · 2026-01-14 11:03
…不是刚需
wangtian2020 · 2026-01-14 11:08
你觉得组件库不合理可以自己去提 issue 提 pr ,我上个月就提了个 issue 解决一个防抖
做不做的答案其实很简单,就是你进行调整后,开发者是否还能还原原来的功能以及是否有必要。
比如说 onClick 防抖,那在不防抖的场景里(比如抢票、短时间点击抢积分等等)开发者就需要绕非常大的一圈来实现支持多点击效果。
那是不是可以加一个属性来支持配置?那就看你的库是否贴近底层,越近越受限制,越远越自由。一个 onClick 防抖需要在 Fiber 节点里存储最近点击数据(我们暂时不提 Fiber 本身是一个抽象节点,本来就不应该关心这件事),那对于大量不处理点击事件的节点都是没有意义的数据,但是因为冒泡以及可以存在动态调整 props 来支持 onClick ,导致框架层必须要预存数据。对于性能与内存都是没有必要的。
添加回复
你还需要 登录
后发表回复
😅