GoForum🌐 V2EX

想不通, React 现代框架的设计者,为什么内置的 onClick 不默认防抖?

chengguang · 2026-01-14 10:58 · 0 次点赞 · 7 条回复

如题,防抖不是刚需吗?为啥不默认融入到 onClick 中,或者通过入参控制不行吗? 开发中每个都加防抖,麻烦死了!!!!

7 条回复
shakaraka · 2026-01-14 11:03
#1

😅

summerwar · 2026-01-14 11:03
#2

因为原生的 click 就不防抖

craftsmanship · 2026-01-14 11:03
#3

你都用 react 了 不知道找个相关库用一下吗

shaozelin030405 · 2026-01-14 11:03
#4

…不是刚需

wangtian2020 · 2026-01-14 11:08
#5

你觉得组件库不合理可以自己去提 issue 提 pr ,我上个月就提了个 issue 解决一个防抖

iOCZS · 2026-01-14 11:13
#6

没有网络请求需要啥防抖。。。

zombiej · 2026-01-14 11:18
#7

做不做的答案其实很简单,就是你进行调整后,开发者是否还能还原原来的功能以及是否有必要。

比如说 onClick 防抖,那在不防抖的场景里(比如抢票、短时间点击抢积分等等)开发者就需要绕非常大的一圈来实现支持多点击效果。

那是不是可以加一个属性来支持配置?那就看你的库是否贴近底层,越近越受限制,越远越自由。一个 onClick 防抖需要在 Fiber 节点里存储最近点击数据(我们暂时不提 Fiber 本身是一个抽象节点,本来就不应该关心这件事),那对于大量不处理点击事件的节点都是没有意义的数据,但是因为冒泡以及可以存在动态调整 props 来支持 onClick ,导致框架层必须要预存数据。对于性能与内存都是没有必要的。

添加回复
你还需要 登录 后发表回复

登录后可发帖和回复

登录 注册
主题信息
作者: chengguang
发布: 2026-01-14
点赞: 0
回复: 0