UNPKG

@td-design/rn-hooks

Version:

从ahooks里面抽取的一些在rn项目里可以使用的hooks。提高开发效率

28 lines (25 loc) 908 B
import { __read } from '../_virtual/_tslib.js'; import { useMemo } from 'react'; import useToggle from '../useToggle/index.js'; /** * 优雅的管理 boolean 状态的 Hook。 * @param defaultValue 默认值为false * @returns */ function useBoolean(defaultValue) { if (defaultValue === void 0) { defaultValue = false; } var _a = __read(useToggle(defaultValue), 2), state = _a[0], _b = _a[1], toggle = _b.toggle, set = _b.set; var actions = useMemo(function () { var setTrue = function () { return set(true); }; var setFalse = function () { return set(false); }; return { toggle: toggle, set: function (v) { return set(!!v); }, setTrue: setTrue, setFalse: setFalse, }; // eslint-disable-next-line react-hooks/exhaustive-deps }, []); return [state, actions]; } export { useBoolean as default };