路由谓词在颤振中意味着什么?

Adi*_*xit 6 flutter

我正在使用Navigator.pushNamedAndRemoveUntil()我遇到的方法RoutePredicate

我在任何地方都找不到完美的解释RoutePredicate

有人可以解释一下吗?

小智 6

谓词是一种函数,它接受一项作为输入,并根据该项是否满足某个条件返回 true 或 false。

路由谓词是一种删除路由直至找到具有特定名称的路由的函数。Navigator.pushNamedAndRemoveUntil()如果谓词返回 true 将停止执行,否则如果谓词返回 false 将继续删除路由。

要删除推送的路由下面的所有路由,请使用始终返回 false 的 RoutePredicate。例子-

Navigator.of(context)
    .pushNamedAndRemoveUntil('/login', (Route<dynamic> route) => false);
Run Code Online (Sandbox Code Playgroud)

这里使用始终返回 false 的 RoutePredicate (Route<dynamic> route) => false/login在这种情况下,它会删除除推送的新路由之外的所有路由。

参考 - https://api.flutter.dev/flutter/widgets/Navigator/pushNamedAndRemoveUntil.html