useToggle


Custom hook that manages a boolean toggle state in React components.

Usage

import { useToggle } from 'usehooks-ts'  export default function Component() {  const [value, toggle, setValue] = useToggle()   // Just an example to use "setValue"  const customToggle = () => {  setValue((x: boolean) => !x)  }   return (  <>  <p>  Value is <code>{value.toString()}</code>  </p>  <button  onClick={() => {  setValue(true)  }}  >  set true  </button>  <button  onClick={() => {  setValue(false)  }}  >  set false  </button>  <button onClick={toggle}>toggle</button>  <button onClick={customToggle}>custom toggle</button>  </>  ) } 

API

useToggle(defaultValue?): [boolean, () => void, Dispatch<SetStateAction<boolean>>]

Custom hook that manages a boolean toggle state in React components.

Parameters

NameTypeDescription
defaultValue?booleanThe initial value for the toggle state.

Returns

[boolean, () => void, Dispatch<SetStateAction<boolean>>]

A tuple containing the current state, a function to toggle the state, and a function to set the state explicitly.

Hook

import { useCallback, useState } from 'react'  import type { Dispatch, SetStateAction } from 'react'  export function useToggle(  defaultValue?: boolean, ): [boolean, () => void, Dispatch<SetStateAction<boolean>>] {  const [value, setValue] = useState(!!defaultValue)   const toggle = useCallback(() => {  setValue(x => !x)  }, [])   return [value, toggle, setValue] }