diff --git a/src/hooks/useTauriEvent.ts b/src/hooks/useTauriEvent.ts index e140c5e..63a3819 100644 --- a/src/hooks/useTauriEvent.ts +++ b/src/hooks/useTauriEvent.ts @@ -2,19 +2,17 @@ import {useEffect, useRef, useCallback} from 'react' import { EventCallback, listen, UnlistenFn } from "@tauri-apps/api/event"; export default function useTauriEvent(eventName : string, callback : EventCallback, depArray : any[]) { - const unsubRef = useRef(null) + const unlistenPromiseRef = useRef>() const stableCallback = useCallback(callback, depArray) useEffect(() => { - listen(eventName, stableCallback).then(unlisten => { - unsubRef.current = unlisten - }) + unlistenPromiseRef.current = listen(eventName, stableCallback) return () => { - if (unsubRef.current) { - unsubRef.current() - } + unlistenPromiseRef.current?.then(unlisten => { + unlisten() + }) } }, [eventName, stableCallback]) }