disposable<T> method
A shortcut over memo and effect to handle disposable objects. Specifically, this:
- Creates some value via
init
- Automatically recreates that value whenever
dependencies
change - Automatically dispose all outdated values via
dispose
Not specify dependencies will only create the value once.
Implementation
T disposable<T>(
T Function() init,
void Function(T) dispose, [
List<Object?> dependencies = const [],
]) {
final value = use.memo(init, dependencies);
use.effect(() => () => dispose(value), [value]);
return value;
}