一尘不染

行动后生成Flutter路线?

flutter

成功登录后,我试图自动路由回到菜单屏幕,但无法生成Widget构建和/或上下文。我正在使用无状态小组件进行此操作。这是我的代码。我想在最后一个打印语句之后调用路由…

Future<Null> _handleSignIn() async {
    try {
      await _googleSignIn.disconnect();
      GoogleSignInAccount googleUser = await _googleSignIn.signIn();
      GoogleSignInAuthentication googleAuth = await googleUser.authentication;

      print(googleAuth.idToken);

      await FirebaseAuth.instance.signInWithGoogle(idToken: googleAuth.idToken, accessToken: googleAuth.accessToken);


    } catch (error) {
      print(error);
    }
    print("Let's Do This");
    print(_googleSignIn.currentUser.displayName);
    print(FirebaseAuth.instance.currentUser);
  }

阅读 226

收藏
2020-08-13

共1个答案

一尘不染

根据您对问题的了解,基本上,您需要设置登录按钮,以将用户重定向到成功登录后希望到达的任何位置。

您可以按以下方式设置onPressed调用,并且从此处可以正常进行:

onPressed: () {_handleSignIn().whenComplete( ()=>Navigator.of(context).pushNamed("/MyHome"));
                      }

请注意 ,您不能在构建方法之外使用导航器,因此,您始终需要处理小部件中的导航部分。 检查对此答案的评论。

2020-08-13