flutter - Flutter在进入路由器之前有事件吗?
问题描述
我想确定用户是否在进入路由之前登录,所以我想知道在进入每个路由器之前是否有事件或拦截器。
解决方案
在StatefulWidget
你可以检查这个initState
方法
initState :当此对象插入树时调用。
框架将为它创建的每个 [State] 对象仅调用一次此方法。
如果您正在使用FirebaseAuth
,您可以initState
像这样签入:
@override
void initState() {
FirebaseAuth.instance.currentUser().then((user){
if (user == null) {
Navigator.of(context).pop();
// you can navigate back if there is a no user
}
});
super.initState();
}
推荐阅读
- r - 在双 y 轴 ggplot 中调整 y 轴范围
- c++ - 如何从头文件中删除 0-25 之外的数字?
- git - git clone 在 jenkins 中返回权限问题
- c++ - 为什么在调整图集大小后,纹理无法在纹理图集中找到其位置?
- azure - Gitlab-ci.yml 将 Angular 项目部署到 Azure Linux VM
- mysql - Jboss 7.2 txn 管理到 Spring 托管 PlatformTransactionManager - 锁定表
- c# - 相同的代码在 .net core 和 .net 4.7.2 中给出不同的结果
- pandas - 通过索引子字符串对 Pandas DataFrame 进行分组
- python - 为什么 Python 的多处理模块只支持两种数据类型?
- php - woocommerce结账时对城市下拉菜单的限制