时间锁 发表于 2020-03-03 字数统计: 166 | 阅读时长 ≈ 1 时间锁修复bug 有时候2行代码能简单处理的问题就不用大费周章地瞎搞了 点击穿透12345678910111213141516171819202122232425262728293031// 以下方法在 IOS 下无效,而且不建议用异步的定时器const handleAddClick = () => {}const handleTouchStart = () => {}const handleTouchEnd = () => {}useEffect(() => { setTimeout(() => btnAddRef.current.addEventListener('click', handleAddClick), 300) return () => btnAddRef.current.removeEventListener('click', handleAddClick)})<div onTouchStart={handleTouchStart} onTouchEnd={handleTouchEnd}> <div ref={btnRef} onClick={e => handleClick(e)} > </div></div>// 时间锁的解决方案const [lockTime, setLockTime] = useState(0)const handleAddClick = () => { const now = +new Date() if (now - lockTime < 300) { return }}const handleTouchStart = () => { setLockTime(+new Date())} 多指触屏12 -------------要说再见啦感谢大佬的光临~-------------