【问题标题】:What is the difference between pushReplacementNamed and popAndPushNamed in Flutter?Flutter 中的 pushReplacementNamed 和 popAndPushNamed 有什么区别?
【发布时间】:2020-05-06 01:52:15
【问题描述】:

Flutter#navigator.dart 中的 NavigatorState 类有 2 个具有类似行为的方法。 Flutter中pushReplacementNamedpopAndPushNamed有什么区别?

pushReplacementNamed

通过推送名为 [routeName] 的路线替换导航器的当前路线,然后在新路线完成动画处理后处理先前的路线。

popAndPushNamed

从导航器中弹出当前路线并在其位置推送命名路线。

【问题讨论】:

    标签: flutter navigation


    【解决方案1】:

    只是一个简短的答案。

    区别仅在于颤动执行的动画

    • pushReplacementNamed -->> "进入动画"
    • popAndPushNamed -->> "退出动画"

    用户 A R 也在他的回答中发布了这个。

    pushReplacementNamed 将执行进入动画,popAndPushNamed 将执行退出动画。


    【讨论】:

      【解决方案2】:

      在 pushReplacementNamed 中,导航器的当前路线推送名为 [routeName] 的路线,然后在新路线完成动画后处理之前的路线 而在 popAndPushNamed 中,当前路由首先弹出,然后新路由被推入,它不会等待其他路由的动画完成

      【讨论】:

      • 可能会帮助添加一些示例以进一步强调差异?
      【解决方案3】:

      @A R 的解释很好,但这不是一个实用的答案。

      除非只有一层,否则两者的效果完全一样。

      这是因为栈为 1 时使用 popPushedNamed 时应用程序被终止。

      而且正如@encubos 所说,动画效果似乎有所不同。

      【讨论】:

        猜你喜欢
        • 2023-01-26
        • 2021-09-06
        • 2020-09-20
        • 2020-04-02
        • 2018-10-25
        • 2018-10-17
        • 2020-03-23
        • 2022-01-11
        • 2018-11-25
        相关资源
        最近更新 更多