Skip to main content

Usage

import { useToggle } from '@kivora/react';

function Demo() {
  const [isOpen, { toggle, setTrue, setFalse }] = useToggle();

  return (
    <div>
      <p>Status: {isOpen ? 'Open' : 'Closed'}</p>
      <button onClick={toggle}>Toggle</button>
      <button onClick={setTrue}>Open</button>
      <button onClick={setFalse}>Close</button>
    </div>
  );
}

Parameters

initialValue
boolean
default:"false"
Initial toggle state

Return Value

Returns a tuple with the current boolean value and an object of helper functions:
[0]
boolean
Current boolean state
[1]
object
Helper functions

Examples

const [isModalOpen, { toggle, setFalse }] = useToggle();

return (
  <>
    <button onClick={toggle}>Open Modal</button>
    {isModalOpen && (
      <Modal onClose={setFalse}>
        <h2>Modal Content</h2>
      </Modal>
    )}
  </>
);

Theme Switcher

const [isDark, { toggle }] = useToggle(false);

return (
  <div className={isDark ? 'dark' : 'light'}>
    <button onClick={toggle}>
      Switch to {isDark ? 'Light' : 'Dark'} Mode
    </button>
  </div>
);
const [isExpanded, { setTrue, setFalse }] = useToggle();

return (
  <div
    onMouseEnter={setTrue}
    onMouseLeave={setFalse}
  >
    <button>Hover me</button>
    {isExpanded && <DropdownMenu />}
  </div>
);

Build docs developers (and LLMs) love