Files
outline/app/hooks/useBoolean.ts
Tom Moor 084490ba6b chore: Remove React in scope requirement (#9261)
* Add rules

* codemod: update-react-imports

* Update babelrc
2025-05-20 19:26:11 -04:00

24 lines
538 B
TypeScript

import { useState, useCallback } from "react";
type InitialState = boolean | (() => boolean);
/**
* React hook to manage booleans
*
* @param initialState the initial boolean state value
*/
export default function useBoolean(
initialState: InitialState = false
): [boolean, () => void, () => void] {
const [value, setValue] = useState(initialState);
const setTrue = useCallback(() => {
setValue(true);
}, []);
const setFalse = useCallback(() => {
setValue(false);
}, []);
return [value, setTrue, setFalse];
}