UNPKG

@td-design/rn-hooks

Version:

从ahooks里面抽取的一些在rn项目里可以使用的hooks。提高开发效率

26 lines (23 loc) 718 B
import { useRef, useEffect } from 'react'; import { isNumber } from 'lodash-es'; import useMemoizedFn from '../useMemoizedFn/index.js'; function useTimeout(fn, delay) { var timerCallback = useMemoizedFn(fn); var timer = useRef(); useEffect(function () { if (!isNumber(delay) || delay < 0) return; timer.current = setTimeout(function () { timerCallback(); }, delay); return clear; // eslint-disable-next-line react-hooks/exhaustive-deps }, [delay]); var clear = useMemoizedFn(function () { if (timer.current) { clearInterval(timer.current); } }); return clear; } export { useTimeout as default };