useDisclosure
Manages open/close state with helpers.
Usage
import { useDisclosure } from "@siberiacancode/reactuse";
const disclosure = useDisclosure();Example
import { useDisclosure } from "@siberiacancode/reactuse";
export const Modal = () => {
const disclosure = useDisclosure();
return (
<div>
<button onClick={() => disclosure.open()}>Open</button>
{disclosure.opened && <div>Modal content</div>}
</div>
);
};initialValue:
const disclosure = useDisclosure(true);onOpen:
const disclosure = useDisclosure(false, { onOpen: () => console.log("open") });onClose:
const disclosure = useDisclosure(false, {
onClose: () => console.log("close"),
});Type Declarations
export interface UseDisclosureOptions {
onClose?: () => void;
onOpen?: () => void;
}
export interface UseDisclosureReturn {
opened: boolean;
close: () => void;
open: () => void;
toggle: (value?: boolean) => void;
}
export declare const useDisclosure: (
initialValue?: boolean,
options?: UseDisclosureOptions
) => UseDisclosureReturn;