# #firebase #flutter #dart #firebase-authentication
Вопрос:
поэтому у меня есть это приложение Flutter, доступное для навигации по ящику, службы аутентификации предоставляются Firebase. В настоящее время я работаю над flutter 2.5.1.
Поэтому, когда я вхожу в систему , приложение выводит меня на главную страницу, которую я установил, и позволяет мне нажать «Выход» (прежде чем я перейду на другой экран). Но когда я перехожу на другой экран, а затем нажимаю кнопку выхода из системы , он не выходит (визуально) , и функции, такие как получение данных от пользователя, который вошел в систему, все еще работают, возвращая данные от пользователя.
Когда это происходит, я должен выполнить горячую перезагрузку, и в этот момент приложение возвращает меня на экран входа в систему.
Это моя функция выхода из системы.
Future cerrarSesion() {
return FirebaseAuth.instance.signOut();
}
Это мой Основной файл
return FutureBuilder(
future: Firebase.initializeApp(),
builder: (context, snapshot) {
if (snapshot.connectionState != ConnectionState.done) {
return Center(
child: CircularProgressIndicator(),
);
}
return StreamProvider<User>.value(
initialData: null,
value: AuthService().usuario,
child: MaterialApp(
debugShowCheckedModeBanner: false,
title: 'Flutter Demo',
theme: ThemeData(
fontFamily: regularFont,
primaryColor: kPrimaryColor,
elevatedButtonTheme: ElevatedButtonThemeData(
style: ElevatedButton.styleFrom(primary: kPrimaryColor)),
scaffoldBackgroundColor: kBackgroundColor),
home: BasePage(),
),
);
});
Это метод базовой страницы () (тот, который оценивает, вошел ли пользователь в систему).
final usuario = Provider.of<User>(context);
return usuario == null ? LoginPage() : MyProfilePage();
Я пробовал с нулевой безопасностью и без нее, меняя версию flutter, но все равно не работает.
Я ценю руководство по этому делу, потому что я понятия не имею, в чем может быть причина этой проблемы.
Комментарии:
1. что такое
final usuario = Provider.of<User>(context);
возвращение?2. @PeterHaddad Я думаю, что это работает нормально, bc при входе в систему он возвращает все атрибуты от пользователя объекта, а при выходе из системы возвращает значение null