Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 我如何测试用户是否已登录,如果未发送到我的颤振应用程序中的其他页面?_Flutter - Fatal编程技术网

Flutter 我如何测试用户是否已登录,如果未发送到我的颤振应用程序中的其他页面?

Flutter 我如何测试用户是否已登录,如果未发送到我的颤振应用程序中的其他页面?,flutter,Flutter,如果用户未登录,我想导航到另一个页面。我尝试将此代码添加到initState,但在生命周期的这个阶段无法使用导航。还有别的选择吗 这在StatefulWidget或State的构造函数中也不起作用。从表面上看,我必须控制路由 // Where can I apply this code. if (auth.currentUser == null) { Navigator.of(context).pushNamed(SignInPage.routeName); } 有人提出了类似的问题 虽然

如果用户未登录,我想导航到另一个页面。我尝试将此代码添加到initState,但在生命周期的这个阶段无法使用导航。还有别的选择吗

这在StatefulWidget或State的构造函数中也不起作用。从表面上看,我必须控制路由

// Where can I apply this code.
if (auth.currentUser == null) {
  Navigator.of(context).pushNamed(SignInPage.routeName);
}

有人提出了类似的问题

虽然从技术上讲,可以通过后期帧回调实现您想要的功能,但您可能不希望在此处将新路由推送到
导航器上,因为您不希望用户能够按下登录页面上的后退按钮并返回主页。此外,您可能希望通过将用户带回登录屏幕来处理用户注销的情况

考虑在主屏幕的构建函数中使用类似的内容

Widget build() {
  return auth.currentUser == null ? new SignInPage() : new HomePage();
}
如果您正在使用谷歌登录

Widget build() {
  return new StreamBuilder(
    stream: googleSignIn.onCurrentUserChanged,
    builder: (context, user) {
      return user.data != null ? new HomePage() : new SignInPage();
    }
  );
}

有人提出了类似的问题

虽然从技术上讲,可以通过后期帧回调实现您想要的功能,但您可能不希望在此处将新路由推送到
导航器上,因为您不希望用户能够按下登录页面上的后退按钮并返回主页。此外,您可能希望通过将用户带回登录屏幕来处理用户注销的情况

考虑在主屏幕的构建函数中使用类似的内容

Widget build() {
  return auth.currentUser == null ? new SignInPage() : new HomePage();
}
如果您正在使用谷歌登录

Widget build() {
  return new StreamBuilder(
    stream: googleSignIn.onCurrentUserChanged,
    builder: (context, user) {
      return user.data != null ? new HomePage() : new SignInPage();
    }
  );
}

谢谢你,科林。你认为firebase auth会和流生成器一起工作吗?这很好。我们目前没有将Firebase身份验证当前用户作为流公开,但我们可能可以。请随意打开一个新的问题。谢谢你,科林。你认为firebase auth会和流生成器一起工作吗?这很好。我们目前没有将Firebase身份验证当前用户作为流公开,但我们可能可以。请随意打开一个新的问题。