如何取消路由? 如果用户不是高级用户,请尝试不允许移动到目标路由。 例如,如下所示。
redirect: (BuildContext context, GoRouterState state) {
if (AuthState.of(context).isNotPremiumUser) {
// cancel routing
} else {
return null;
}
},
如何使用 go_router 实现“返回 false”?
我做了一些研究,但没有什么结论。
在
redirect
回调中,返回值将是路由器将重定向到的路由。如果值为 null
,则不会重定向。要“取消路由”,可以返回原来的路径作为重定向目标。
redirect: (BuildContext context, GoRouterState state) {
if (AuthState.of(context).isNotPremiumUser) {
return state.matchedLocation;
} else {
return null;
}
}