dispose method
Called when this state is permanently removed from the tree.
Implementation
@override
void dispose() {
// Dispose all routes.
for (final route in _routes.reversed.toList()) {
route.dispose();
}
_routes.clear();
_entryKeys.clear();
// Complete any pending futures with null.
for (final completer in _routeCompleters.values) {
if (!completer.isCompleted) {
completer.complete(null);
}
}
_routeCompleters.clear();
// Detach observers.
for (final observer in widget.observers) {
observer.navigator = null;
}
super.dispose();
}