Я пытаюсь следовать руководству по аутентификации с помощью firebase. Я получил rootPage и хочу проверить, вошел ли пользователь в систему или нет. В зависимости от этого я перейду к HomeScreen или LoginScreen.
Я получаю сообщение об ошибке «NoSuchMethodError: Метод получения текущего пользователя вызван на ноль» при запуске приложения.
class RootPage extends StatefulWidget {
RootPage({this.auth});
final BaseAuth auth;
@override
State<StatefulWidget> createState() => new _RootPageState();
}
class _RootPageState extends State<RootPage> {
AuthStatus authStatus = AuthStatus.NOT_DETERMINED;
String _userID = "";
@override
void initState() {
super.initState();
widget.auth.getCurrentUser().then((user) {
setState(() {
if (user != null) {
_userID = user?.uid;
}
authStatus =
user?.uid == null ? AuthStatus.NOT_LOGGED_IN : AuthStatus.LOGGED_IN;
});
});
}
Метод get current user выглядит следующим образом
Future<FirebaseUser> getCurrentUser() async {
FirebaseUser user = await _firebaseAuth.currentUser();
return user;
}
Что я делаю не так?