diff --git a/src/mantine-hooks/src/use-interval/use-interval.ts b/src/mantine-hooks/src/use-interval/use-interval.ts index 8b949da9e66..5157724155b 100644 --- a/src/mantine-hooks/src/use-interval/use-interval.ts +++ b/src/mantine-hooks/src/use-interval/use-interval.ts @@ -11,7 +11,7 @@ export function useInterval(fn: () => void, interval: number) { const start = () => { setActive((old) => { - if (!old) { + if (!old && !intervalRef.current) { intervalRef.current = window.setInterval(fnRef.current, interval); } return true; @@ -21,6 +21,7 @@ export function useInterval(fn: () => void, interval: number) { const stop = () => { setActive(false); window.clearInterval(intervalRef.current); + intervalRef.current = undefined; }; const toggle = () => {