UNPKG

ahooks

Version:
44 lines (43 loc) 1.5 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _react = require("react"); function useToggle() { var defaultValue = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; var reverseValue = arguments.length > 1 ? arguments[1] : undefined; var _useState = (0, _react.useState)(defaultValue), _useState2 = (0, _slicedToArray2["default"])(_useState, 2), state = _useState2[0], setState = _useState2[1]; var actions = (0, _react.useMemo)(function () { var reverseValueOrigin = reverseValue === undefined ? !defaultValue : reverseValue; var toggle = function toggle() { return setState(function (s) { return s === defaultValue ? reverseValueOrigin : defaultValue; }); }; var set = function set(value) { return setState(value); }; var setLeft = function setLeft() { return setState(defaultValue); }; var setRight = function setRight() { return setState(reverseValueOrigin); }; return { toggle: toggle, set: set, setLeft: setLeft, setRight: setRight }; // useToggle ignore value change // }, [defaultValue, reverseValue]); }, []); return [state, actions]; } var _default = exports["default"] = useToggle;