common-hook
Version:
提供项目中常用的 React Hooks
22 lines (21 loc) • 612 B
JavaScript
import { useMemo } from "react";
import { useToggle } from "common-hook";
/**
* @name 切换boolean,可以接收默认值
* @example
* const [state, { toggle, setTrue, setFalse }] = useBoolean(true)
*/
export const useBoolean = (defaultValue = false) => {
const [state, { toggle, set }] = useToggle(defaultValue);
const actions = useMemo(() => {
const setTrue = () => set(true);
const setFalse = () => set(false);
return {
toggle,
set: (v) => set(!!v),
setTrue,
setFalse
};
}, []);
return [state, actions];
};