useDisposableRef<T> function
T
useDisposableRef<T>(
- T instance, {
- dynamic onMount(
- T
- dynamic onDispose(
- T
Allows to call any cleanup/dispose functions on Singletons saved inside of useRef hook.
final controller = useDisposableRef(TabController(), onMount: (tabController) => print('mounted'), onDispose: (tabController) => tabController.dispose());
Implementation
T useDisposableRef<T>(
T instance, {
Function(T)? onMount,
Function(T)? onDispose,
}) {
final instanceRef = useRef<T>(instance);
useEffect(() {
onMount?.call(instanceRef.value);
return () => onDispose?.call(instanceRef.value);
}, []);
return instanceRef.value;
}