# `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