reactuals
Version:
A useful package providing a collection of 50+ React hooks and utilities to simplify React development.
16 lines (15 loc) • 491 B
JavaScript
import { useCallback, useState } from "react";
/**
* Toggle a boolean state.
* @param initialValue - Initial value (default false)
* @returns [value, toggleFunction]
*
* Example:
* const [isOpen, toggle] = useToggle();
* <button onClick={toggle}>{isOpen ? "Close" : "Open"}</button>
*/
export function useToggle(initialValue = false) {
const [value, setValue] = useState(initialValue);
const toggle = useCallback(() => setValue((v) => !v), []);
return [value, toggle];
}