reaction<V> method

void reaction<V>(
  1. V selector(),
  2. void callback(
    1. V value
    )
)

Implementation

void reaction<V>(V Function() selector, void Function(V value) callback) {
  V? lastValue;
  void listener() {
    final newValue = selector();
    if (lastValue != newValue) {
      lastValue = newValue;
      callback(newValue);
    }
  }

  addListener(listener);
  listener(); // initial call
}