It goes through the router, so the route is matched, its loader runs and its middleware
runs, exactly as they would for a deep link: a screen never renders another screen itself.
reset empties the stack first, so the route that follows becomes the only screen. It is
done here rather than carried as an intent, because the router's navigation API carries
whether to replace and nothing more, and inventing a third channel for it would be a
fiction. Emptying then navigating is exactly what a reset is.
Navigate from a screen.
It goes through the router, so the route is matched, its loader runs and its middleware runs, exactly as they would for a deep link: a screen never renders another screen itself.
resetempties the stack first, so the route that follows becomes the only screen. It is done here rather than carried as an intent, because the router's navigation API carries whether to replace and nothing more, and inventing a third channel for it would be a fiction. Emptying then navigating is exactly what a reset is.