useDoubleClick
import { useEffect, useState } from "react"
export default function useDoubleClick(callback, interval) {
const [clickCount, setClickCount] = useState(0);
useEffect(() => {
if (clickCount === 2) {
callback();
setClickCount(0);
}
const timer = setTimeout(() => {
setClickCount(0);
}, interval);
return () => clearTimeout(timer);
}, [clickCount, callback, interval]);
const handleClick = () => {
setClickCount(clickCount + 1);
};
return handleClick;
}
介绍
双击的事件是没有原生浏览器的接口支持的,所以只能模拟监听,通过在规定时间间隔内记录点击次数来实现。