state-hooks
Version:
Essential set of React Hooks for convenient state management.
24 lines (23 loc) • 799 B
TypeScript
/// <reference types="react" />
/**
* Wraps a state hook to add boolean toggle functionality.
*
* @param useStateResult Return value of a state hook.
* @param useStateResult.0 Current state.
* @param useStateResult.1 State updater function.
* @returns State hook result extended with a `toggle` function.
*
* @example
* function Component() {
* const [isPressed, setPressed, togglePressed] = useToggle(
* useState<boolean>(false),
* );
* // ...
* return (
* <button type="button" aria-pressed={isPressed} onClick={togglePressed}>
* Toggle state
* </button>
* );
* }
*/
export default function useToggle([value, setValue]: [boolean, React.Dispatch<React.SetStateAction<boolean>>]): [boolean, React.Dispatch<React.SetStateAction<boolean>>, () => void];