Flutter - How to pass user data to all views

前端 未结 5 680
醉酒成梦
醉酒成梦 2021-01-30 03:10

I\'m new to the flutter world and mobile app development and struggling with how I should pass user data throughout my app.

I\'ve tried several things, but none seem gre

5条回答
  •  旧时难觅i
    2021-01-30 03:49

    I crashed into another problem because of this problem you can check it out here So the solution I came up with is a bit untidy,I created a separate Instance dart page and imported it to every page.

     GoogleSignInAccount Guser = googleSignIn.currentUser;
     FirebaseUser Fuser;
    

    I stored the user there on login and checked on every StateWidget if it was null

      Future _ensureLoggedIn() async {
    
    if (Guser == null) Guser = await googleSignIn.signInSilently();
    if (Fuser == null) {
      await googleSignIn.signIn();
      analytics.logLogin();
    }
    if (await auth.currentUser() == null) {
      GoogleSignInAuthentication credentials =
      await googleSignIn.currentUser.authentication;
      await auth.signInWithGoogle(
        idToken: credentials.idToken,
        accessToken: credentials.accessToken,
      );
    }
    

    This is my old code I did cleaned it up on my current app but I don't have that code now in handy. Just check out for null user and log it in again

    I did it for most of the Firebase instances too because I have more than 3 pages on my app and Inherited Widgets was just too much work

提交回复
热议问题