首页 > 解决方案 > 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();
  }

推荐阅读