vtils
Version:
一个面向业务的 JavaScript/TypeScript 实用程序库。
44 lines (42 loc) • 1.02 kB
JavaScript
exports.__esModule = true;
exports.useToggle = useToggle;
var _react = require("react");
/**
* @public
*/
/**
* 布尔值切换器。
*
* @public
* @param initialValue 初始值
* @returns 返回结果和操作
* @example
* ```typescript
* const [value, toggle] = useToggle(false) // value: false
* toggle() // value: true
* toggle.set(false) // value: false
* toggle.true() // => value: true
* toggle.false() // => value: false
* ```
*/
function useToggle(initialValue) {
var _useState = (0, _react.useState)(initialValue),
value = _useState[0],
setValue = _useState[1];
var toggle = (0, _react.useCallback)(function () {
setValue(function (value) {
return !value;
});
}, []);
toggle.set = (0, _react.useCallback)(function (value) {
setValue(value);
}, []);
toggle.true = (0, _react.useCallback)(function () {
setValue(true);
}, []);
toggle.false = (0, _react.useCallback)(function () {
setValue(false);
}, []);
return [value, toggle];
}
;