UNPKG

@ozen-ui/kit

Version:

React component library

20 lines (19 loc) 952 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useCounter = useCounter; var tslib_1 = require("tslib"); var react_1 = require("react"); function useCounter(_a) { var _b = _a === void 0 ? {} : _a, _c = _b.initialValue, initialValue = _c === void 0 ? 0 : _c, _d = _b.step, step = _d === void 0 ? 1 : _d; var _e = tslib_1.__read((0, react_1.useState)(initialValue), 2), count = _e[0], setCount = _e[1]; var increment = (0, react_1.useCallback)(function () { return setCount(function (x) { return x + step; }); }, [step]); var decrement = (0, react_1.useCallback)(function () { return setCount(function (x) { return x - step; }); }, [step]); var reset = (0, react_1.useCallback)(function () { return setCount(initialValue); }, [initialValue]); return { count: count, increment: increment, decrement: decrement, reset: reset, setCount: setCount, }; }