Flutter应用程式重建随着路线变更而增加

时间:2020-03-11 05:06:34

标签: flutter

我正在使用软件包states_rebuilder,并尝试根据FirebaseUserStream<FirebaseUser> onAuthStateChanged()不为空的情况来设置受保护的路由

我已将流注入main():

Inject<User>.stream(() => Injector.get<UserStore>().onAuthStateChanged());

我已经像这样设置了两个页面(路线名称除外):

Widget build(context) {
  final userRM = Injector.getAsReactive<User>(context: context);
  print(userRM);
  return Center(
    child: GestureDetector(
      onTap: () => Navigator.of(context).pushNamed('/other_page'),
      child: Text('GO TO OTHER PAGE'),
    ),
  );
}

这是print(userRM)行的输出

在初始构建时:

flutter: Stream of <User> singleton reactive model (#Code 591819645) => isWaiting
flutter: Stream of <User> singleton reactive model (#Code 591819645) => hasData : null

在第一次更改路线时:

flutter: Stream of <User> singleton reactive model (#Code 591819645) => hasData : null
flutter: Stream of <User> singleton reactive model (#Code 591819645) => hasData : null

关于第二条路线更改:

flutter: Stream of <User> singleton reactive model (#Code 591819645) => hasData : null
flutter: Stream of <User> singleton reactive model (#Code 591819645) => hasData : null
flutter: Stream of <User> singleton reactive model (#Code 591819645) => hasData : null

此操作不断进行,每次路线更改都会重建+1次。重新加载(不重新启动)时,它会重建大约相同的时间。 IE如果我重新路由几次并且重建了7倍,它将在重新加载时重建7倍。

显然不应该,但是我不知道为什么...

0 个答案:

没有答案