The Code
import { useState, useCallback } from 'react';
export function useToggle(initialValue: boolean = false) {
const [value, setValue] = useState(initialValue);
// Define a function that toggles the value
const toggle = useCallback(() => {
setValue(v => !v);
}, []);
return [value, toggle] as const;
}
Usage
function Modal() {
const [isOpen, toggleOpen] = useToggle(false);
return (
<>
<button onClick={toggleOpen}>
{isOpen ? 'Close' : 'Open'} Modal
</button>
{isOpen && <div>Modal Content</div>}
</>
);
}
Sponsored Content
Google AdSense Placeholder
CONTENT SLOT