react-timehook
Version:
Timer and Countdown hook for React.
3 lines (2 loc) • 542 B
JavaScript
import{useRef as n,useState as r,useEffect as t}from"react";var e=useTimer=function(e){var i=e.initialTimer,u=e.mode,c=n(null),o=r(i),a=o[0],f=o[1],l=function(){c.current=setInterval(function(){m()},1e3)},m=function(){0===a&&clearInterval(c.current),f(function(n){return n-1})};return t(function(){return function(){"COUNTDOWN_SECOND"===u&&clearInterval(c.current)}},[]),"COUNTDOWN_SECOND"===u?{currentTimer:a,isFinish:0===a,onStartTimer:l,onResetTimer:function(n){f(n||i),l()}}:{}};export default e;
//# sourceMappingURL=index.module.js.map