如何重用MaterialPageRoute构建器创建的Flutter视图?

问题描述 投票:0回答:1

如何重用MaterialPageRoute构建器创建的Flutter视图?当前,每当调用Navigator.pushReplacementNamed时,就会在小部件树中创建新视图。例如以下代码将在小部件树中创建4个视图:

Navigator.pushNamed(context, 'page1');
Navigator.pushNamed(context, 'page2');
Navigator.pushNamed(context, 'page1');
Navigator.pushNamed(context, 'page2');

我只希望小部件树中有两个视图-page1和page2的单个实例。

这可能吗?

flutter flutter-navigation
1个回答
0
投票

push()和pushNamed()方法在当前页面上重新创建页面,您应该使用pushReplacement()和pushReplacementNamed()方法。但是,以这种方式,您不能使用自动后退功能,应该使用pop()方法或再次使用某些push方法,因为当您使用pushReplacement()和pushReplacementNamed()方法时,前一页会被破坏,应该手动重新创建。] >

© www.soinside.com 2019 - 2024. All rights reserved.