У меня проблема с подтвержденным адресом электронной почты. Я хочу, чтобы подтвержденный адрес электронной почты был равен true, тогда go на дом. У меня это условие if в RaisedButton, поэтому, если пользователь нажимает кнопку и электронная почта подтверждает статус true, тогда возвращаемся в Wrapper.
dynamic verifEmail = await _auth.isEmailVerified();
if (verifEmail == true) {
print('in');
// Navigator.of(context).pushNamed(Home.tag);
return Wrapper();
}
это код isEmailVerified ()
Future<bool> isEmailVerified() async {
FirebaseUser user = await _auth.currentUser();
await user.reload();
user = await _auth.currentUser();
return user.isEmailVerified;
}
и это код класса Wrapper.
class Wrapper extends StatelessWidget {
@override
Widget build(BuildContext context) {
final user = Provider.of<User>(context);
return Scaffold(
body :StreamBuilder<FirebaseUser>(
stream: FirebaseAuth.instance.onAuthStateChanged,
builder: (BuildContext context, snapshot) {
if (snapshot.hasData) {
print('Verif email ' + snapshot.data.isEmailVerified.toString());
return snapshot.data.isEmailVerified
? Home(uidCode: user.uid)
: VerifEmail(user: snapshot.data);
}
else {
return Authenticate();
}
},
),
);
}
}
Проблема в классе Wrapper, статус подтверждения электронной почты не станет истинным, за исключением vscode, который я выполняю горячей перезагрузкой. Поэтому я не могу go перейти на домашнюю страницу, за исключением того, что я делаю горячую перезагрузку в vscode. Пожалуйста, кто-нибудь может решить эту проблему?