dependOnInheritedWidgetOfExactType<T extends InheritedWidget> method

T? dependOnInheritedWidgetOfExactType<T extends InheritedWidget>()

Obtains the nearest InheritedWidget of type T and registers this element as a dependent so it rebuilds when the inherited widget changes.

Implementation

T? dependOnInheritedWidgetOfExactType<T extends InheritedWidget>() {
  final element = findAncestorElementOfExactType<T>();
  if (element != null) {
    _dependencies ??= {};
    element._dependents.add(this);
    _dependencies!.add(element);
    return element.widget as T;
  }
  return null;
}