ahooks
Version:
react hooks library
36 lines (35 loc) • 1.16 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = useBoolean;
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var _react = require("react");
var _useToggle3 = _interopRequireDefault(require("../useToggle"));
function useBoolean() {
var defaultValue = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
var _useToggle = (0, _useToggle3["default"])(!!defaultValue),
_useToggle2 = (0, _slicedToArray2["default"])(_useToggle, 2),
state = _useToggle2[0],
_useToggle2$ = _useToggle2[1],
toggle = _useToggle2$.toggle,
_set = _useToggle2$.set;
var actions = (0, _react.useMemo)(function () {
var setTrue = function setTrue() {
return _set(true);
};
var setFalse = function setFalse() {
return _set(false);
};
return {
toggle: toggle,
set: function set(v) {
return _set(!!v);
},
setTrue: setTrue,
setFalse: setFalse
};
}, []);
return [state, actions];
}