UNPKG

@taro-hooks/ahooks

Version:
41 lines (40 loc) 1.13 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var core_1 = require("@taro-hooks/core"); function useToggle(defaultValue, reverseValue) { if (defaultValue === void 0) { defaultValue = false; } var _ref = (0, core_1.useState)(defaultValue), state = _ref[0], setState = _ref[1]; var actions = (0, core_1.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]; } exports["default"] = useToggle;