MST

星途 面试题库

面试题:Flutter 中 Navigator 组件的基本导航模式及使用场景

请详细描述 Flutter 中 Navigator 组件常用的几种基本导航模式,如 push、pop 等,并说明每种模式通常适用于什么样的应用场景,同时给出简单的代码示例。
36.0万 热度难度
前端开发Flutter

知识考点

AI 面试

面试题答案

一键面试

push

  1. 描述:将一个新的路由(页面)推送到导航栈中,使得新页面覆盖在当前页面之上。
  2. 应用场景:通常用于从一个页面跳转到另一个新页面,比如从首页跳转到详情页。
  3. 代码示例
Navigator.push(
  context,
  MaterialPageRoute(
    builder: (context) => NewPage(),
  ),
);

pop

  1. 描述:将当前路由(页面)从导航栈中移除,返回上一个页面。如果导航栈中没有其他页面,则应用通常会退出。
  2. 应用场景:用户完成当前页面的操作后返回上一级页面,例如在详情页查看完信息后返回列表页。
  3. 代码示例
Navigator.pop(context);

pushReplacement

  1. 描述:用新的路由替换当前路由,当前路由从导航栈中移除,新路由入栈。
  2. 应用场景:当不希望用户通过返回操作回到当前页面时使用,比如登录成功后替换登录页面为首页,防止用户返回登录页。
  3. 代码示例
Navigator.pushReplacement(
  context,
  MaterialPageRoute(
    builder: (context) => NewPage(),
  ),
);

popUntil

  1. 描述:从导航栈中移除直到满足指定条件的路由,然后将满足条件的路由设置为当前显示的页面。
  2. 应用场景:比如用户在多级页面中,想要直接回到特定页面(如首页),而不是一级一级返回。
  3. 代码示例
Navigator.popUntil(
  context,
  ModalRoute.withName('/home'),
);