FutureBuilder在构建方法中,无限循环

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

我正在尝试使用futurebuilder从数据库中获取数据,然后将其加载到屏幕上之后在屏幕上显示。目前,我的futurebuilder在build方法中,但是它会创建一个无限循环。

这是我构建的内容:

try {
      initUser();
      initRead();
      return Scaffold(
        body: new SingleChildScrollView(
          child: Container(
            padding: EdgeInsets.all(16.0),
            child:  FutureBuilder(
              future: _read(),
            builder: (BuildContext context, snapshot) {
              List<Widget> children;

              if (snapshot.hasData && !snapshot.hasError) {
                children = <Widget>[showImage()];
              } else {
                children = <Widget>[
                  _showCircularProgress(),
                ];
              }
              return Center(
                child: Column(
                  mainAxisAlignment: MainAxisAlignment.center,
                  crossAxisAlignment: CrossAxisAlignment.center,
                  children: children,
                ),
              );
            }),
          ),
        ),
      );
    } catch (e) {
      print(e.toString());
      return Container();
    }

我如何使用此FutureBuilder来检查_read()何时完成而又不会出现此无限循环?谢谢!

firebase flutter dart future
1个回答
0
投票
返回列的行不在if (snapshot.hasData && !snapshot.hasError)行中,请尝试将其包括在内
© www.soinside.com 2019 - 2024. All rights reserved.