You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

页面往返路由时状态是否保留?Navigator方法对页面状态的影响

Flutter路由往返时的页面状态与组件生命周期

1. Navigator.pushNamed() 操作时的表现

  • 页面组件:目标页面的组件会全新创建,因为该页面是首次被加入路由栈(重复跳转时每次都会新增栈元素),不存在已有的组件实例。
  • 页面状态:对应组件的状态(如StatefulWidget的State对象)也会同步初始化,是全新的状态实例,与任何历史状态无关。

2. Navigator.pop() 操作时的表现

  • 页面组件:返回的上一页组件实例不会重新创建,它始终保存在路由栈中,并未被销毁。
  • 页面状态:上一页的状态会完全保留,与上次显示时的状态完全一致,比如输入框内容、滚动位置、变量值等都会维持原有状态。

内容的提问来源于stack exchange,提问作者porton

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 18:45:48