在navigator.pop之后Flutter保存页面状态

时间:2020-08-28 09:39:51

标签: flutter

即使单击后退按钮(即Navigator.pop(context)),如何保存页面状态?当按下返回按钮并再次访问该页面时,已保存的页面将不会再次调用initState。 AutomaticKeepAliveClientMixin似乎只能保存底部导航栏选项卡之间的状态。

例如,每当一次在不同的聊天之间切换时,WhatsApp不会重新初始化聊天屏幕和重新获取消息。

2 个答案:

答案 0 :(得分:0)

简单答案,您必须使用InheritedWidget,Provider vs.路由或检索状态时,必须将状态存储在页面外并在页面之间传递状态。

查看此示例https://flutter.dev/docs/development/data-and-backend/state-mgmt/simple

答案 1 :(得分:-2)

尝试一下!

 @override
  void dispose() {
    //You can save your page here
    super.dispose();
  }