Version: v3.6.0

@rooks/use-interval#

setInterval hook for React.#


Build Status

Installation#

npm install --save @rooks/use-interval

Importing the hook#

import useInterval from "@rooks/use-interval"

Usage#

function reducer(state, action) {
switch (action.type) {
case "increment":
return { count: state.count + 1 };
default:
return state;
}
}
function Demo() {
const [value, dispatcher] = useReducer(reducer, { count: 0 });
function increment() {
dispatcher({
type: "increment"
});
}
const { start, stop } = useInterval(() => {
increment();
}, 1000);
return (
<>
<p>value is {value.count}</p>
<button onClick={start}>Start</button>
<button onClick={stop}>Stop</button>
</>
);
}
render(<Demo/>)

Arguments#

ArgumentTypeDescriptionDefault value
callbackfunctionFunction be invoked after each interval durationundefined
intervalDurationnumberDuration in milliseconds after which callback is invokedundefined
startImmediatebooleanShould the timer start immediately or nofalse

Returned Object#

Returned object attributesTypeDescription
startfunctionStart the interval
stopfunctionStop the interval
intervalIdintervalIdIntervalId of the interval
Last updated on by imbhargav5