@use-it/interval
v1.0.0
Published
A custom React Hook that provides a declarative useInterval.
Downloads
111,189
Maintainers
Readme
@use-it/interval
A custom React Hook that provides a declarative setInterval
called useInterval
.
New version 1.0 has been completely rewritten in TypeScript!
This hook is an implementation of Dan Abramov's blog post "Making setInterval Declarative with React Hooks".
Installation
$ npm i @use-it/interval
or
$ yarn add @use-it/interval
Usage
Here is a basic setup.
useInterval(callback, delay);
Parameters
Here are the parameters that you can use.
| Parameter | Description |
| :--------- | :------------------------------------------------------------------------------- |
| callback
| A function that will be called every delay
milliseconds. |
| delay
| A number representing the delay in msecs. Set to null
to "pause" the interval. |
Return
This hook returns nothing.
Example
Let's look at some sample code. Here is a Counter
component that counts up every second.
import React, { useState } from 'react';
import useInterval from '@use-it/interval';
const Counter = ({ delay = 1000 }) => {
const [count, setCount] = useState(0);
useInterval(() => {
setCount((currentCount) => currentCount + 1);
}, delay);
return <h1>{count}</h1>;
};
export default Counter;
Live demo
You can view/edit the sample code above on CodeSandbox.
License
MIT Licensed
Contributors
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!