UNPKG

vtils

Version:

一个面向业务的 JavaScript/TypeScript 实用程序库。

44 lines (42 loc) 1.02 kB
"use strict"; 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]; }