@antmjs/vantui
Version:
一套适用于Taro3及React的vantui组件库
21 lines • 746 B
JavaScript
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
import { useEffect, useRef } from 'react';
import { usePersistFn } from '../usePersistFn';
export var useDepsTimeout = function useDepsTimeout(fn, deps, delay) {
var timerCallback = usePersistFn(fn);
var timerRef = useRef(null);
var clear = usePersistFn(function () {
if (timerRef.current) {
clearTimeout(timerRef.current);
}
});
useEffect(function () {
if (typeof delay !== 'number' || delay < 0) {
return;
}
timerRef.current = setTimeout(timerCallback, delay);
return clear;
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [delay, clear, timerCallback].concat(_toConsumableArray(deps)));
return clear;
};