import {useCallback, useState} from 'react';
export default function useBoolean(initialValue) {
const [value, setValue] = useState(initialValue ?? false);
const setTrue = useCallback(() => {
setValue(true);
}, []);
const setFalse = useCallback(() => {
setValue(false);
}, []);
const toggle = useCallback(() => {
setValue((prev) => !prev);
}, []);
return {
value,
setTrue,
setFalse,
toggle
};
}
```
export default function Component() {
const { value, setTrue, setFalse } = useBoolean();
return (
<div>
<p>{value ? 'enabled' : 'disabled'}</p>
<button onClick={setTrue}>Enable</button>
<button onClick={setFalse}>Disable</button>
</div>
);
}
```