UNPKG

vtils

Version:

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

41 lines (39 loc) 915 B
import { useCallback, useState } from '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 * ``` */ export function useToggle(initialValue) { var _useState = useState(initialValue), value = _useState[0], setValue = _useState[1]; var toggle = useCallback(function () { setValue(function (value) { return !value; }); }, []); toggle.set = useCallback(function (value) { setValue(value); }, []); toggle.true = useCallback(function () { setValue(true); }, []); toggle.false = useCallback(function () { setValue(false); }, []); return [value, toggle]; }