UNPKG

@e-group/hooks

Version:

eGroup team react-hooks that share across projects.

42 lines (33 loc) 1.14 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = useCountDown; var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _react = require("react"); var _useInterval = _interopRequireDefault(require("./useInterval")); function useCountDown(value, options) { const _ref = options || {}, min = _ref.min; const _useState = (0, _react.useState)(value), _useState2 = (0, _slicedToArray2.default)(_useState, 2), number = _useState2[0], setNumber = _useState2[1]; const _useState3 = (0, _react.useState)(false), _useState4 = (0, _slicedToArray2.default)(_useState3, 2), start = _useState4[0], setStart = _useState4[1]; (0, _useInterval.default)(() => { if (min !== undefined) { if (number - 1 >= min) { setNumber(number - 1); } else { setStart(false); } } else { setNumber(number - 1); } }, start ? 1000 : null); return [number, setStart]; }