How can I check if a named route is currently on the stack? I do not want to build a new route every time the user pushes a named route that already exists.
Also, is the
Since in my case I had control over the route instance, I went on to investigate the navigator
a little further. I found a method that solved my problem:
navigator.removeRoute(myRoute)
It does not animate the route out though. The route simply vanishes. For what I need, that is ok since when removeRoute
is called, the route to be removed is hidden anyway.
https://docs.flutter.io/flutter/widgets/RouteObserver-class.html allows you to listen to route changes and maintain a copy of the stack yourself where you can look up existing routes.
You can also upvote this issue https://github.com/flutter/flutter/pull/22408 that exposes the history stack.