我使用runApp()来更改颤音应用程序中的所有屏幕,但我觉得这是一种糟糕的做法,因为我从未见过有人这样做(我只是认为在没有使用setState()函数键的情况下,更改屏幕或刷新另一个类中的小部件的当前屏幕是一种简单而快捷的方法)。我从未注意到这样做有任何性能缺陷,而且效果很好。是否有理由使用不同的东西,如Navigator等?
发布于 2020-10-25 06:22:56
的确,我从未见过有人这样做。然而,如果你读到runApp描述,他们会说:
再次调用runApp将从屏幕中分离前一个根小部件,并将给定的小部件附加到它的位置。将新小部件树与前一个小部件树进行比较,并将任何差异应用于底层呈现树,类似于在调用StatefulWidget后重新构建State.setState时所发生的情况。
因为它是一种预期的用途,并且有一个树的比较,我认为它是有效的。
导航器的优点是您可以使用命名路由,在屏幕之间动画,有一个堆栈。如果你不需要的话,runApp是完美的。
https://stackoverflow.com/questions/64519635
复制相似问题