何时在 Flutter 中使用新屏幕而不是 TabBarView

When to use new Screens in Flutter instead of TabBarView

我是 Flutter 的新手,我试图理解何时以及为什么需要导航到新屏幕。大多数应用程序在所有不同的“屏幕”中都保持相同的 AppBar、Drawer 和 BottomNavigationBar(如果有)。只拥有一个 TabBarView 或只替换 Scaffold 的主体不是更容易吗?

我很难真正理解为什么路由时需要一个新的Scaffold的概念。我在 Flutter 官方文档中找不到任何有用的信息,甚至 Cookbook 也向您展示了一个带有 2 个全新屏幕的导航示例,只是为了在脚手架的主体内显示不同的文本小部件。

还有,总是重建整个Scaffold的效率如何?

当您转到新页面时,上一页存储在导航器的历史记录中,因此您只需单击 Back 按钮即可轻松 return 到上一页。原则上,一切都取决于您的需要。您可以使用带有自己的脚手架的新页面,也可以使用带有单个脚手架和不同主体小部件的页面。对于最后一种情况,您需要手动控制 Back 按钮,因此这种方式在开发中已经足够昂贵了。