У Flutter есть событие перед входом в маршрутизатор?

#flutter

#flutter

Вопрос:

Я хочу определить, авторизован ли пользователь перед входом в маршрут, поэтому я хочу знать, есть ли событие или перехватчик перед входом в каждый маршрутизатор.

Ответ №1:

в StatefulWidget ‘s вы можете проверить в 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();
  }