0

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

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

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

这可能吗?

4

1 回答 1

0

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

于 2019-11-14T07:21:34.133 回答