问题描述
我对Flutter并不陌生,我尝试了解何时以及为何需要导航到新屏幕。大多数应用程序通过所有不同的“屏幕”保留相同的AppBar,Drawer和BottomNavigationBar(如果有)。只拥有一个TabBarView还是只替换脚手架的身体会更容易吗?
我很难真正理解为什么在布线时需要新的脚手架的概念。我在Flutter的官方文档中找不到任何有用的信息,甚至Cookbook也向您显示了一个导航示例,其中包含2个全新的屏幕,只是为了在Scaffold的体内显示一个不同的Text小部件。
此外,始终重建整个脚手架的效率如何?
解决方法
当您路由到新页面时,前一页存储在导航器的历史记录中,因此您只需单击Back
按钮即可轻松返回前一页。原则上,一切都取决于您的需求。您可以将新页面与它自己的Scaffold一起使用,也可以将一个页面与单个Scaffold和不同的主体小部件一起使用。对于最后一种情况,您需要手动控制Back
按钮,这样在开发中就足够昂贵了。