From 384b62c1b7e0b2371f1e2bd9dd601dc48d70a8d2 Mon Sep 17 00:00:00 2001 From: Adam <67035612+damzobridge@users.noreply.github.com> Date: Tue, 29 Apr 2025 17:18:34 -0700 Subject: [PATCH] fix: unify effects in useViewModelInstance --- src/hooks/useViewModelInstance.ts | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/src/hooks/useViewModelInstance.ts b/src/hooks/useViewModelInstance.ts index 172ac61..e230a03 100644 --- a/src/hooks/useViewModelInstance.ts +++ b/src/hooks/useViewModelInstance.ts @@ -54,12 +54,9 @@ export default function useViewModelInstance( const areParamsChanged = !areParamsEqual(paramsRef.current, params); shouldUpdate.current = isViewModelChanged || areParamsChanged; - viewModelRef.current = viewModel; paramsRef.current = params; - }, [viewModel, name, useDefault, useNew]); - useEffect(() => { if (!shouldUpdate.current && instanceRef.current) { return; } @@ -91,15 +88,12 @@ export default function useViewModelInstance( instanceRef.current = result; setInstance(result); shouldUpdate.current = false; - }, [viewModel, name, useDefault, useNew]); - // Automatically bind to Rive when requested, if not already bound - useEffect(() => { - if (!rive || !instance) return; - if (rive.viewModelInstance !== instance) { - rive.bindViewModelInstance(instance); + // Bind instance to Rive if needed + if (rive && result && rive.viewModelInstance !== result) { + rive.bindViewModelInstance(result); } - }, [rive, instance]); + }, [viewModel, name, useDefault, useNew, rive]); return instance; } \ No newline at end of file