state
useToggle
Manages a boolean state with toggle, setTrue, and setFalse helpers. Reduces boilerplate for common on/off UI patterns.
useToggle.ts
import { useState, useCallback } from "react"
interface UseToggleReturn {
value: boolean
toggle: () => void
setTrue: () => void
setFalse: () => void
}
export function useToggle(initialValue = false): UseToggleReturn {
const [value, setValue] = useState(initialValue)
const toggle = useCallback(() => setValue((v) => !v), [])
const setTrue = useCallback(() => setValue(true), [])
const setFalse = useCallback(() => setValue(false), [])
return { value, toggle, setTrue, setFalse }
}Was this helpful?
Sign in to give feedback
