@td-design/rn-hooks
Version:
从ahooks里面抽取的一些在rn项目里可以使用的hooks。提高开发效率
28 lines (24 loc) • 714 B
JavaScript
;
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;