Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 何时在Flatter中使用新屏幕而不是TabBarView_Flutter_Design Patterns_Routes_Screen_Scaffold - Fatal编程技术网

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

Flutter 何时在Flatter中使用新屏幕而不是TabBarView,flutter,design-patterns,routes,screen,scaffold,Flutter,Design Patterns,Routes,Screen,Scaffold,我对Flitter还比较陌生,我试图理解何时以及为什么需要导航到一个新屏幕。大多数应用程序在所有不同的“屏幕”中保持相同的AppBar、Drawer和BottomNavigationBar(如果有)。如果只使用一个TabBarView,或者只更换脚手架的主体,不是更容易吗 我很难真正理解为什么布线时需要新脚手架的概念。我在官方的flatter文档中找不到任何有用的东西,甚至连烹饪书都向您展示了一个导航示例,其中有两个全新的屏幕,只是为了在脚手架的主体内显示一个不同的文本小部件 另外,始终重建整个

我对Flitter还比较陌生,我试图理解何时以及为什么需要导航到一个新屏幕。大多数应用程序在所有不同的“屏幕”中保持相同的AppBar、Drawer和BottomNavigationBar(如果有)。如果只使用一个TabBarView,或者只更换脚手架的主体,不是更容易吗

我很难真正理解为什么布线时需要新脚手架的概念。我在官方的flatter文档中找不到任何有用的东西,甚至连烹饪书都向您展示了一个导航示例,其中有两个全新的屏幕,只是为了在脚手架的主体内显示一个不同的文本小部件


另外,始终重建整个脚手架的效率如何?

当您路由到新页面时,上一页存储在navigator的历史记录中,因此您只需单击
后退
按钮即可轻松返回到previos页面。原则上,一切都取决于你需要什么。您可以使用带有自己的支架的新页面,也可以使用带有单个支架和不同主体小部件的页面。对于最后一种情况,您需要手动控制
Back
按钮,这样在开发过程中就足够昂贵了。

谢谢,如果您想将状态保留在内存中,那么最好使用新屏幕。我想这完全取决于不同的用例,在某些情况下也可以使用选项卡栏视图来保持状态。