useComputed<R> function

Reactive<R> useComputed<R>(
  1. R computation(), {
  2. List<Reactive>? dependencies,
})

Creates a computed value that automatically updates when dependencies change.

Implementation

Reactive<R> useComputed<R>(R Function() computation,
    {List<Reactive>? dependencies}) {
  final computed = Reactive<R>(computation());

  if (dependencies != null) {
    for (final dependency in dependencies) {
      dependency.listen((_) {
        try {
          computed.value = computation();
        } catch (e) {
          // print('Error in computed value: $e');
        }
      });
    }
  }

  return computed;
}