diff --git a/src/hooks/useMutationObservable.ts b/src/hooks/useMutationObservable.ts index c05383a67..0c626a8c9 100644 --- a/src/hooks/useMutationObservable.ts +++ b/src/hooks/useMutationObservable.ts @@ -26,7 +26,12 @@ export const useMutationObservable = ( const [observer, setObserver] = useState(null); useEffect(() => { + // disconnect previous observer here to make sure + // the old observer is disconnected in time (because between + // this useEffect and the useEffect below might have a time gap) + observer?.disconnect(); setObserver(() => new MutationObserver(callback)); + // eslint-disable-next-line react-hooks/exhaustive-deps }, [callback, config]); useEffect(() => {