UNPKG

@td-design/rn-hooks

Version:

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

28 lines (24 loc) 714 B
'use strict'; var react = require('react'); var lodashEs = require('lodash-es'); var index = require('../useMemoizedFn/index.js'); function useTimeout(fn, delay) { var timerCallback = index(fn); var timer = react.useRef(); react.useEffect(function () { if (!lodashEs.isNumber(delay) || delay < 0) return; timer.current = setTimeout(function () { timerCallback(); }, delay); return clear; // eslint-disable-next-line react-hooks/exhaustive-deps }, [delay]); var clear = index(function () { if (timer.current) { clearInterval(timer.current); } }); return clear; } module.exports = useTimeout;