typescriptbeginner

useToggle Hook

Simple boolean toggle hook with set, toggle, on, and off functions.

typescript
import { useState, useCallback } from 'react';

export function useToggle(initialValue = false) {
  const [value, setValue] = useState(initialValue);

  const toggle = useCallback(() => setValue(v => !v), []);
  const on = useCallback(() => setValue(true), []);
  const off = useCallback(() => setValue(false), []);

  return { value, toggle, on, off, setValue } as const;
}

// Usage:
// const { value: isOpen, toggle, off: close } = useToggle();

Use Cases

  • Modal open/close state
  • Sidebar toggles

Tags

Related Snippets

Similar patterns you can reuse in the same workflow.