如何修复FutureBuilder多次打开错误?

问题描述 投票:0回答:1

这是我的两个班(两页)。这两个课程多次开放。我将调试点放在futurebuilder中的两个类中。调试点运行,

  1. MainCategory页面并进入下一页
  2. SubCategory页面再次运行MainCategory页面(上一页)futurebuilder并再次运行MainCategory页面futurebuilder
  3. 将子类别页面导航到第三页运行子类别页面和主类别页面

我将我的两个课程上传到GitHub,请告诉我这是什么问题。

MainCategory代码:https://github.com/bhanuka96/ios_login/blob/master/MainCategory.dart子类别代码:https://github.com/bhanuka96/ios_login/blob/master/subCategory.dart

dart flutter flutter-layout
1个回答
0
投票

如文档中所述,您不应在窗口小部件的构建事件期间获取Futurebuilder的Future。

https://docs.flutter.io/flutter/widgets/FutureBuilder-class.html

未来必须早先获得,例如在State.initState,State.didUpdateConfig或State.didChangeDependencies期间。在构造FutureBuilder时,不能在State.build或StatelessWidget.build方法调用期间创建它。如果将来与FutureBuilder同时创建,则每次重建FutureBuilder的父级时,都将重新启动异步任务。

因此,尝试在构建方法之外调用getRegister方法,并将其替换为返回的Future值。

© www.soinside.com 2019 - 2024. All rights reserved.