# `useTimeout` Re-renders the component after a specified number of milliseconds. Provides handles to cancel and/or reset the timeout. ## Usage ```jsx import { useTimeout } from 'react-use'; function TestComponent(props: { ms?: number } = {}) { const ms = props.ms || 5000; const [isReady, cancel] = useTimeout(ms); return (
{ isReady() ? 'I\'m reloaded after timeout' : `I will be reloaded after ${ ms / 1000 }s` } { isReady() === false ? : '' }
); } const Demo = () => { return (
); }; ``` ## Reference ```ts const [ isReady: () => boolean | null, cancel: () => void, reset: () => void, ] = useTimeout(ms: number = 0); ``` - **`isReady`**_` :()=>boolean|null`_ - function returning current timeout state: - `false` - pending re-render - `true` - re-render performed - `null` - re-render cancelled - **`cancel`**_` :()=>void`_ - cancel the timeout (component will not be re-rendered) - **`reset`**_` :()=>void`_ - reset the timeout