From b67b6e54a5d7b12c2fd2bcbf1d0d49af67bb371f Mon Sep 17 00:00:00 2001 From: melloware Date: Fri, 12 Aug 2022 11:27:31 -0400 Subject: [PATCH] Fix #2093: Interval hook ensure only 1 running timer --- src/mantine-hooks/src/use-interval/use-interval.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 = () => {