Если ваши результаты рендеринга зависят от чего-то, что загружается асинхронно (например, от состояния аутентификации), вы должны сохранить это в состоянии объекта:
class _WrapperState extends State<Wrapper> {
public _WrapperState() {
FirebaseAuth.instance.onAuthStateChanged.listen((user) {
setState(() {
this.user = user
});
}
@override
Widget build(BuildContext context) {
if (user != null) {
return HomeScreen();
} else {
return LoginScreen();
}
}
}
Я обычно предпочитаю писать build
как это:
@override
Widget build(BuildContext context) {
return (user != null) ? HomeScreen() : LoginScreen();
}