Flutter 中导航的回调函数

rav*_*508 6 navigation callback dart flutter gorouter

在导航器中,我们可以使用.then. 例如:

 Navigator.push(
        context,
        MaterialPageRoute(
          builder: (context) => XyzScreen(),
        ),
      ).then((value) => _someFuncion());
Run Code Online (Sandbox Code Playgroud)

那么有什么办法可以实现同样的功能go_router吗?

sup*_*zzy 0

请参阅https://github.com/flutter/flutter/issues/99663

似乎作为主要的 go_router 功能,它尚未得到支持。主要是因为它与浏览器不兼容。对修复此问题的支持是存在的,但在项目中它的优先级有点低。

/sf/answers/5177397851/ 在这里您可以找到解决方法,通过在路由更改时注册侦听器。
因此,您可以=>在其他页面(甚至该页面的子路由)上忽略,返回此页面时调用回调+取消注册侦听器,并在其他情况或类似情况下取消注册侦听器。