update method
Updates this element to use a new Widget configuration.
Implementation
@override
void update(Widget newWidget) {
final oldWidget = widget as InheritedWidget;
super.update(newWidget);
final updatedWidget = newWidget as InheritedWidget;
final shouldNotify = updatedWidget.updateShouldNotify(oldWidget);
final childWasIdentical =
childElement != null &&
identical(childElement!.widget, updatedWidget.child);
rebuild();
if (shouldNotify) {
for (final dependent in _dependents.toList()) {
if (!dependent.mounted) {
_dependents.remove(dependent);
continue;
}
if (dependent == childElement && !childWasIdentical) {
continue;
}
if (dependent is StatefulElement) {
dependent.state.didChangeDependencies();
}
dependent.markNeedsBuild();
}
}
}