我是新来的颤栗网,一直在拔出我的头发在这一个。这正是我在移动平台上对用户进行身份验证的方式,但由于某种原因,当我在颤振web上使用热重加载时,用户身份验证将丢失并返回null,并显示CircularProgressIndicator(CPI)。
它为什么要这么做?如果调用null,那么肯定会显示LoginPage() --这是在最初加载页面时所做的--但是一旦我重新加载,它就返回null和CPI。
此外,我还添加了一个print语句来帮助我跟踪用户调用,并且注意到每次我导航到一个新页面时,用户id都会被打印出来,并想知道这是为什么?
我想达到的目标是:
如果ConnectionState.waiting
类Landing扩展了StatelessWidget { @override (BuildContext上下文){BuildContext auth =Provider.of(上下文,侦听: false);返回StreamBuilder(流: auth.onAuthStateChanged,构建器:(上下文,快照){ if (snapshot.connectionState == ConnectionState.active) { User = snapshot.data;print( user );返回user == null?LoginPage():HomePage();}HomePage返回Scaffold( body: Center(子: CircularProgressIndicator(),);},);}
发布于 2019-11-21 08:00:42
我是通过F5运行程序,而不是通过颤振运行-d铬,通过F5运行该程序可以在VScode上按下热重加载按钮,但重要的是,热重加载目前在flutter上不可用。
我相信,这部分地回答了我的问题。
发布于 2019-11-20 12:32:39
您将流传递到无状态小部件中。将无状态小部件更改为有状态小部件--这将解决您的问题。
https://stackoverflow.com/questions/58954258
复制相似问题