UNPKG

hooks-belt

Version:

A comprehensive collection of useful React hooks for common use cases

36 lines 1.07 kB
import { useState, useCallback } from 'react'; /** * A hook that provides a boolean state with toggle functionality. * Useful for managing boolean states like modals, dropdowns, etc. * * @param initialValue - The initial boolean value (default: false) * @returns A tuple with the current value and toggle functions * * @example * ```tsx * const [isOpen, toggle, setOpen, setClosed] = useToggle(false) * * return ( * <div> * <button onClick={toggle}>Toggle</button> * <button onClick={setOpen}>Open</button> * <button onClick={setClosed}>Close</button> * {isOpen && <Modal />} * </div> * ) * ``` */ export function useToggle(initialValue = false) { const [value, setValue] = useState(initialValue); const toggle = useCallback(() => { setValue(prev => !prev); }, []); const setTrue = useCallback(() => { setValue(true); }, []); const setFalse = useCallback(() => { setValue(false); }, []); return [value, toggle, setTrue, setFalse]; } //# sourceMappingURL=useToggle.js.map