如何重用MaterialPageRoute构建器创建的Flutter视图?当前,每当调用Navigator.pushReplacementNamed时,就会在小部件树中创建新视图。例如以下代码将在小部件树中创建4个视图:
Navigator.pushNamed(context, 'page1');
Navigator.pushNamed(context, 'page2');
Navigator.pushNamed(context, 'page1');
Navigator.pushNamed(context, 'page2');
我希望窗口小部件树中只有两个视图-page1和page2的单个实例。
这可能吗?
答案 0 :(得分:0)
push()和pushNamed()方法在当前页面上重新创建页面,您应该使用pushReplacement()和pushReplacementNamed()方法。但是,以这种方式,您不能使用自动后退功能,应该使用pop()方法或再次使用某些push方法,因为当您使用pushReplacement()和pushReplacementNamed()方法时,上一页会被破坏,您应该手动重新创建。 / p>