watch method

  1. @override
T watch(
  1. BuildContext context
)
override

Implementation

@override
T watch(BuildContext context) {
  if (_watchers[context] == null) {
    final element = context as Element;
    final subscription = listen((_) => element.markNeedsBuild());

    void onObjectEvent(ObjectEvent event) {
      if (event is! ObjectDisposed || event.object != context) return;
      subscription.cancel();
      _watchers.remove(context);
      FlutterMemoryAllocations.instance.removeListener(onObjectEvent);
    }

    FlutterMemoryAllocations.instance.addListener(onObjectEvent);
  }

  return _getValue();
}