UNPKG

@antmjs/vantui

Version:

一套适用于Taro3及React的vantui组件库

21 lines 746 B
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; };