diff --git a/packages/react-native-reanimated/src/hook/useFrameCallback.ts b/packages/react-native-reanimated/src/hook/useFrameCallback.ts index fa73926f2..bdba5c469 100644 --- a/packages/react-native-reanimated/src/hook/useFrameCallback.ts +++ b/packages/react-native-reanimated/src/hook/useFrameCallback.ts @@ -43,11 +43,14 @@ export function useFrameCallback( useEffect(() => { ref.current.callbackId = frameCallbackRegistry.registerFrameCallback(callback); - const memoizedId = ref.current.callbackId; + const memoizedFrameCallback = ref.current; ref.current.setActive(ref.current.isActive); return () => { - frameCallbackRegistry.unregisterFrameCallback(memoizedId); + frameCallbackRegistry.unregisterFrameCallback( + memoizedFrameCallback.callbackId + ); + memoizedFrameCallback.callbackId = -1; }; }, [callback, autostart]);