Skip to content

Commit ac6eac0

Browse files
authored
fix: use returned remover function from addListener for proper cleanup (#86)
useRiveProperty hook was calling addListener but not capturing the returned remover function. Now properly uses the returned remover function for cleanup instead of removeListeners().
1 parent 55a63a9 commit ac6eac0

1 file changed

Lines changed: 6 additions & 10 deletions

File tree

src/hooks/useRiveProperty.ts

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -66,18 +66,14 @@ export function useRiveProperty<P extends ViewModelProperty, T>(
6666

6767
// If an override callback is provided, use it.
6868
// Otherwise, use the default callback.
69-
if (options.onPropertyEventOverride) {
70-
property.addListener(options.onPropertyEventOverride);
71-
} else {
72-
property.addListener((newValue) => {
73-
setValue(newValue);
74-
});
75-
}
69+
const removeListener = options.onPropertyEventOverride
70+
? property.addListener(options.onPropertyEventOverride)
71+
: property.addListener((newValue) => {
72+
setValue(newValue);
73+
});
7674

77-
// Cleanup: Remove listeners and dispose of the property
78-
// This ensures proper cleanup of event listeners and resources
7975
return () => {
80-
property.removeListeners();
76+
removeListener();
8177
property.dispose();
8278
};
8379
}, [options, property]);

0 commit comments

Comments
 (0)