/** * Returns a controller object for setting a timeout that is properly cleaned up * once the component unmounts. New timeouts cancel and replace existing ones. * * * * ```tsx * const { set, clear } = useTimeout(); * const [hello, showHello] = useState(false); * //Display hello after 5 seconds * set(() => showHello(true), 5000); * return ( *
* {hello ?

Hello

: null} *
* ); * ``` */ export default function useTimeout(): { set: (fn: () => void, delayMs?: number) => void; clear: () => void; };