home: StreamProvider<User>.value(
initialData: _user,
value: AuthServices().user,
child: MaterialApp(
debugShowCheckedModeBanner: false,
home: Wrapper(),
),
),
Value: AuthServices().user fonksiyonun senin Apindeki kullanıcı ve şifre sonucundaki dönen değerin olacak. Bu örnekte custum model tanımlanmış onada User denmiş. Sen istersen int döndür, istersen string sana kalmış.
Provider value wrapper gönderilir ve wrapper’dada routing işlemi yapılır.
class Wrapper extends StatelessWidget {
@override
Widget build(BuildContext context) {
// Değişimleri burdan yakalayıp navigate ediyor
final user = Provider.of<User>(context);
if (user == null) {
return SignIn();
} else {
return Home(user);
}
}
}
Seneryo şöyle oluyor basitçe.
Main.dart -> Home’da provider login değişimini dinliyor ve value değerine atıyor, wrapperda value değerine göre roting işlemi gerçekleştiriyor.
- Herkese hatasız kodlamalar.