在 Flutter 中 pushReplacementNamed 和 popAndPushNamed 有什么区别?



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

pushReplacementNamed

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

popAndPushNamed

将当前路由从导航器中弹出,并将命名路由推到其位置。

只是一个简短的答案。

区别仅在于动画颤振执行。

  • pushReplacement命名-->>"进入动画">
  • popAndPush命名-->>"退出动画">

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

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


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

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

除非只有一个堆栈,否则两者的效果是完全相同的。

这是因为当堆栈为 1 时使用 popPushedNamed 时,应用将终止。

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

相关内容

  • 没有找到相关文章

最新更新