Sometimes, we want to clear timeouts and intervals with React hooks.
In this article, we’ll look at how to clear timeouts and intervals with React hooks.
How to clear timeouts and intervals with React hooks?
To clear timeouts and intervals with React hooks, we call clearTimeout in the callback that we return in the useEffect hook callback.
For instance, we write
const Comp = () => {
//...
React.useEffect(() => {
const timeoutID = window.setTimeout(() => {
//...
}, 1000);
return () => window.clearTimeout(timeoutID);
}, []);
//...
};
to call useEffect with a callback that calls setTimout to run its callback with a 1 second delay.
Then we return a function that calls clearTimeout with the timeoutId returned by setInterval to clear the timer when the component unmounts.
Conclusion
To clear timeouts and intervals with React hooks, we call clearTimeout in the callback that we return in the useEffect hook callback.