diff --git a/src/mantine-hooks/src/use-did-update/use-did-update.ts b/src/mantine-hooks/src/use-did-update/use-did-update.ts index 715029087fb..9393367daf3 100644 --- a/src/mantine-hooks/src/use-did-update/use-did-update.ts +++ b/src/mantine-hooks/src/use-did-update/use-did-update.ts @@ -1,13 +1,22 @@ -import { useEffect, useRef, EffectCallback } from 'react'; +import { useEffect, useRef } from 'react'; -export function useDidUpdate(fn: EffectCallback, dependencies?: any[]) { +export function useDidUpdate(fn: React.EffectCallback, dependencies?: React.DependencyList) { const mounted = useRef(false); + // for react-refresh + useEffect( + () => () => { + mounted.current = false; + }, + [] + ); + + // eslint-disable-next-line consistent-return useEffect(() => { if (mounted.current) { - fn(); - } else { - mounted.current = true; + return fn(); } + + mounted.current = true; }, dependencies); }