首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Flutter: StreamBuilder生成器返回黑屏

Flutter: StreamBuilder生成器返回黑屏
EN

Stack Overflow用户
提问于 2020-11-24 19:26:29
回答 1查看 128关注 0票数 0

我有一个监听用户登录/注销状态的StreamBuilder。

当我成功登录时,LandingScreen StreamBuilder会返回一个黑屏。但是,如果我热重启,只要我登录,它就会加载正确的Scaffold..As,并打印该UID。但是当涉及到返回(测试)脚手架时,它总是一个黑屏。

我不明白为什么在从登录到这里的过渡之后,它是黑色的,但当我热重启时,它就会按它应该的方式加载。

编辑*我正在IPhone 12最大仿真器上运行此程序。

代码语言:javascript
复制
    class LandingScreen extends StatelessWidget {
  @override
  Widget build(BuildContext context) {

    final auth = Provider.of<AuthBase>(context, listen: false);

    return StreamBuilder<CurrentUser>(
      stream: auth.onAuthStateChanged,
      builder: (context, dataSnapShot) {
        print(dataSnapShot.connectionState);
        if (dataSnapShot.connectionState == ConnectionState.active) {
          CurrentUser user = dataSnapShot.data;
          if (user == null) return LoginScreen();
          print(user.uid);
          return SafeArea(
            child: Scaffold(
              body: Column(
                children: [
                  Center(
                    child: FlatButton(
                      onPressed: () {
                        auth.signOut();
                      },
                      child: Text('SIGN OUT HERE'),
                    ),
                  ),
                ],
              ),
            ),
          );
          // return DashboardScreen();
        } else {
          return Scaffold(
            appBar: AppBar(
              title: Text('data'),
            ),
            body: Center(
              child: CircularProgressIndicator(),
            ),
          );
        }
      },
    );
  }
}
EN

回答 1

Stack Overflow用户

发布于 2020-11-24 19:36:52

也许您应该将此小部件转换为StateFull小部件!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64985496

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档