Skip to content

useBoolean

useBoolean 是优雅的管理 boolean 状态的钩子。

类型声明

ts
export interface Actions {
  
setTrue
: () => void;
setFalse
: () => void;
set
: (
value
: boolean) => void;
toggle
: () => void;
} declare function
useBoolean
(
defaultValue
?: boolean): [boolean, Actions];

源码

ts
import { 
useMemo
} from 'react';
import
useToggle
from '../useToggle';
export interface Actions {
setTrue
: () => void;
setFalse
: () => void;
set
: (
value
: boolean) => void;
toggle
: () => void;
} export default function
useBoolean
(
defaultValue
= false): [boolean, Actions] {
const [
state
, {
toggle
,
set
}] =
useToggle
(!!
defaultValue
);
const
actions
: Actions =
useMemo
(() => {
const
setTrue
= () =>
set
(true);
const
setFalse
= () =>
set
(false);
return {
toggle
,
set
: (
v
) =>
set
(!!
v
),
setTrue
,
setFalse
,
}; }, []); return [
state
,
actions
];
}