1. Junior

    How does the route stack work in Navigator?

    Navigator keeps a stack of routes; push adds a screen, and pop removes the current one and returns to what is beneath it.

    Read the full explanation
  2. Junior

    What are the clear ways to pass data between routes?

    Pass required constructor arguments to the new page, and return a result from pop when the previous screen needs a value.

    Read the full explanation
  3. Mid-level

    What should happen when a deep link is opened directly?

    The app converts the URL into an understandable route state, checks permissions and data, and then builds a suitable stack instead of assuming the user started from home.

    Read the full explanation
  4. Senior

    When do you choose imperative navigation and when declarative navigation?

    Imperative suits a quick local navigation command, while declarative describes the stack from state and is preferred when links, auth, or deep links change constantly.

    Read the full explanation
  5. Mid-level

    How do you design nested navigation for tabs or an independent flow?

    Give each flow a clear Navigator or route scope, and define which back action belongs to the child and which exits to the parent.

    Read the full explanation
  6. Mid-level

    How do you use go_router for declarative navigation, route guarding (redirect), and deep links?

    go_router defines a tree of routes by URL, turns the link into a stack of screens, and offers a central redirect that decides where the user goes based on sign-in state, with support for deep links and the web.

    Read the full explanation