flutter - Navigator pushReplacementNamed 在 Flutter 应用程序中加载屏幕两次
问题描述
在 Flutter 应用程序中,我有 MaterialApp,其中包含命名路线列表和带有几个选项卡的底部导航栏。在一个选项卡上,我有一个带有此代码的按钮
Navigator.of(context).pushReplacementNamed(MyRouteName);
由于某种原因,目标屏幕被加载了几次(可以在屏幕上看到),并且它的initState()
方法也至少被调用了两次。为什么会发生,可以用它做什么?
解决方案
我也遇到了同样的问题,我通过返回 Navigator.of (context).pop 解决了它实际上,解决方案可能会根据您作为路线的状态而有所不同。我建议你尝试其他方法。
推荐阅读
- raku - 为什么向类型添加方法与在 perl6 中添加子或运算符不同?
- php - 从具有变化价格的 Woocommerce 可变产品下拉列表中排除产品
- linux - 有没有办法用golang将PDF转换为jpeg?
- r - R 使用 lapply() 填充和命名数据框列表中的一列
- c++ - C++ if 语句:第一个条件取代第二个 - UB 还是定义明确?
- xml - 将一个节点的子节点复制到另一个节点,但在基于匹配的单独节点中?
- android - ActivityCompat.requestPermissions 时活动被破坏
- angularjs - 将字符串附加到范围并将值分配给它
- vba - 如何使用 querySelector在 VBA中单击按钮
- swift - Swift 5:如何创建包含类类型的集合(适用于 NSXPCInterface)