UNPKG

@e-group/hooks

Version:

eGroup team react-hooks that share across projects.

30 lines (27 loc) 834 B
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray"; import { useState } from 'react'; import useInterval from './useInterval'; export default function useCountDown(value, options) { const _ref = options || {}, min = _ref.min; const _useState = useState(value), _useState2 = _slicedToArray(_useState, 2), number = _useState2[0], setNumber = _useState2[1]; const _useState3 = useState(false), _useState4 = _slicedToArray(_useState3, 2), start = _useState4[0], setStart = _useState4[1]; useInterval(() => { if (min !== undefined) { if (number - 1 >= min) { setNumber(number - 1); } else { setStart(false); } } else { setNumber(number - 1); } }, start ? 1000 : null); return [number, setStart]; }