React Dojo

Search

Search concepts, exercises and quizzes

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