GoRouter侧滑返回手势无检测,redirect中state.subloc未更新是否正常?
GoRouter侧滑返回未触发redirect、subloc不更新问题
这不是GoRouter的预期行为,它原生支持Android和iOS的侧滑返回手势,出现你描述的情况基本是配置或使用细节出了问题,给你几个排查方向:
- 检查GoRouter初始化配置:别在
Navigator相关参数里手动禁用侧滑手势,同时确认嵌套路由的层级配置正确,避免路由栈逻辑混乱。 - 关于
redirect里state.subloc不更新:侧滑返回是弹出路由栈的操作,正常会触发GoRouter的状态更新。如果没检测到,要么是你的redirect逻辑没正确监听路由变化——redirect只在路由跳转(包括pop)时执行,要是你只在初始化时处理了一次,得用GoRouter.of(context).addListener来持续监听路由状态;要么是你的页面不是通过GoRouter的go/push方法跳转的,比如用了原生Navigator.push,这种情况GoRouter的路由状态不会同步。 - 排查版本问题:旧版GoRouter可能存在侧滑返回状态同步的bug,直接升级到最新稳定版再测试。
内容的提问来源于stack exchange,提问作者devberkay
相关产品推荐
相关产品推荐

