Я очень плохо знаком с флаттером, и я столкнулся с ошибкой, которую не мог решить несколько дней, у меня есть пользовательский класс, который выглядит следующим образом
class User with ChangeNotifier{
FirebaseAuth _auth;
FirebaseUser _user;
GoogleSignIn _googleSignIn;
Status _status = Status.Uninitialized;
}
Этот класс имеет метод для выхода пользователя из приложения, этот метод выглядит следующим образом:
Future signOut() async {
_auth.signOut();
_googleSignIn.signOut();
_status = Status.Unauthenticated;
notifyListeners();
return Future.delayed(Duration.zero);
}
Я хочу, чтобы этот метод выполнялся при выполнении перехода с одной страницы на предыдущую, поэтому я использую его внутри метода деактивации виджета:
@override
void deactivate() {
Provider.of<User>(context, listen: false).signOut();
super.deactivate();
}
Но я получаю следующую ошибку:
E/flutter (32016): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: A User was used after being disposed.
E/flutter (32016): Once you have called dispose() on a User, it can no longer be used.
Я был бы рад любой помощи или предложению относительно этого .. Спасибо !!