You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何同时处理GoRouter在移动端与Web端的返回按钮逻辑

GoRouter 跨端导航与返回逻辑的适配疑问

根据GoRouter文档:

GoRouter可通过context.push()将页面推入Navigator的历史栈,通过context.pop()弹出当前页面。但命令式导航会导致浏览器历史记录出现问题。

因此在Web端,必须使用.go()方法。若要同时支持浏览器返回按钮与应用内返回按钮,调用window.history.back();会是不错的选择。

但该方法在原生移动端应用中无法生效,因此移动端需使用Navigator.of(context).maybePop();。不过,如果使用.go()进行导航,该方法只会直接关闭应用,无法实现返回功能。

这是否意味着我们需要在Web端用.go()、移动端用.push()进行导航?是否存在其他更优的跨端统一解决方案?

我曾在GoRouter官方文档及GitHub问题区寻找解决方案,但没有找到有效答案。


内容的提问来源于stack exchange,提问作者Roc Boronat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 00:52:34