После аутентификации пользователя они перенаправляются в файл Home.dart. В сборке Home есть функция нижней панели навигации, которая содержит страницы приложений.
В моем начальном состоянии init я вызываю функцию, которая загружает модель пользователя в переменную:
void initState() {
super.initState();
getUserData();
pageController = PageController();
}
Таким образомЯ могу получить доступ к текущим пользовательским данным во всех приложениях без необходимости продолжать чтение в firebase, так как модель "User currentUser;" загружается при запуске приложения.
Однако на короткую секунду после входа в систему пользователь возвращает ноль, когда его перенаправляют на панель навигации, из-за задержки в firebase при вызове getUserData в моем состоянии инициализации.
Как я могу обновить мою начальную страницу (в этом случае feed.dart), как только будет загружена модель currentUser? Если я переключаюсь между экранами и обратно, чтобы кормить, все работает. Мне просто нужно обновить страницу, а не заставлять ее перезагрузить.
getUserData() async {
//Loads uidPath with current user id.
getCurrentUser();
//Loads currentUser model with current user data.
DocumentSnapshot doc = await usersRef.document(uidPath).get();
doc = await usersRef.document(uidPath).get();
currentUser = User.fromDocument(doc);
}
Заранее спасибо!