使用 Navigator 时保留页面状态

Preserve page state while using Navigator

我有一个显示四个不同页面的 PageView( ) 和一个用于导航到这些页面的 BottomNavigationBar。我在第一页上有一个 FloatingActionButton,当我使用 Navigator.push() 推送第二条路线并使用 Navigator.pop 将其弹出初始页面再次重建时,同样的事情发生在我使用第四条路线时页面也是如此,返回第一个屏幕而不是我在该页面上执行操作时的同一屏幕。那么如何在保留该页面状态的同时导航回同一页面?

我已使用 AutomaticKeepAliveClient 混合宏在底部导航栏中导航时保留页面状态,但无法使用 Navigator 执行此操作。

This article by Andrea Bezzito 确实涵盖了它的某些部分,但我不确定这是否正是我想要的。所以想寻找替代解决方案(如果有的话)。

谢谢。

您要找的是Provider。这是一个非常简单的示例,说明如何使用提供程序。 https://github.com/m-Skolnick/provider_example_flutter