Skip to main content
Version: v3.6.0


Throttle custom hook for React​


npm install --save @rooks/use-throttle

Importing the hook​

import useThrottle from "@rooks/use-throttle"


function ThrottleDemo() {
const [number, setNumber] = useState(0);
const addNumber = () => setNumber(number + 1);
const [addNumberThrottled, isReady] = useThrottle(addNumber, 1000);
// isReady is a boolean that tells you whether calling addNumberThrottled at that point
// will fire or not.
// Once the timeout of 1000ms finishes, isReady will become true to indicate that the next time
// addNumberThrottled is called it will run right away.
return (
<h1>Number: {number}</h1>
<p>Click really fast.</p>
<button onClick={addNumber}>Add number</button>
<button onClick={addNumberThrottled}>Add number throttled</button>


ArgumentTypeDescriptionDefault value
callback (required)functionFunction that needs to be throttleundefined
timeout (optional)numberTime to throttle the callback in ms300