useMemo<R> function

Reactive<R> useMemo<R>(
  1. R computation(),
  2. List<Reactive> dependencies
)

Creates a memoized value that only recomputes when dependencies change.

Implementation

Reactive<R> useMemo<R>(R Function() computation, List<Reactive> dependencies) {
  final memo = Reactive<R>(computation());

  for (final dependency in dependencies) {
    dependency.listen((_) {
      memo.value = computation();
    });
  }

  return memo;
}