@restart/hooks
Version:
A set of utility and general-purpose React hooks.
24 lines (23 loc) • 657 B
TypeScript
/// <reference types="react" />
/**
* 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 (
* <div className="App">
* {hello ? <h3>Hello</h3> : null}
* </div>
* );
* ```
*/
export default function useTimeout(): {
set(fn: () => void, delayMs?: number): void;
clear(): void;
isPending: boolean;
handleRef: import("react").RefObject<any>;
};