flutter - 渲染streamBuilder之前的延迟

标签 flutter dart

我有streamBuilder,当我用它瞬间进入页面时,出现关于函数返回零的错误,即数据没有时间加载并且函数返回null

if (customers != null) {
  return StreamBuilder(
    stream: customers,
    //initialData: ,
    builder: (context, AsyncSnapshot snapshot) {
    if (snapshot.hasData) {
      if (snapshot.data != null) {
          return ListView.builder(
            itemCount: snapshot.data.documents.length,
            padding: EdgeInsets.all(5.0),
            itemBuilder: (context, i) {
              return new ListTile(
                title:
                Column(mainAxisAlignment: MainAxisAlignment.start,
                    children: <Widget>[
                    Text(snapshot.data.documents[i].data['pickedDay'],),
                    Text(snapshot.data.documents[i].data['pickedTime']),
                    Text(snapshot.data.documents[i].data['service']),
                    Text(snapshot.data.documents[i].data['phoneNumber']),
                    Divider(height: 10, color: primaryColor2),
                  ],),
                },
              );
            },
          );
        }
      }
   // }
    },
  );
} else {
return new CircularProgressIndicator();
}

}>

我该如何解决这个问题?

最佳答案

snapshot.hasData 为 false 时,您的构建器不会返回数据。这就是您看到该错误的原因。

你应该返回一些东西。它可以只是一个空容器或一个装载旋转器。 像这样的事情:

if (snapshot.hasData || snapshot.data != null) {
  //your current code
}else{
  return Container()
}

关于flutter - 渲染streamBuilder之前的延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56652058/

相关文章:

Flutter dio图像上传不工作抛出服务器500错误,但在 postman 中工作

flutter - dyld:找不到符号:_ffi_prep_closure_loc(在 Mac 上)

flutter - 向下滚动Listview项时,强制屏幕小部件的顶部保持显示, flutter

flutter - 在 Flutter 中读取/转换相机流图像

flutter - 在 flutter/dart 中读取特定的字节 block

dart - Flutter- 如何退出多行文本字段中的文本字段?

flutter - 如何在 ModalBottomSheet Flutter 中完成操作时刷新父页面

android - 如何在 flutter 中使用依赖注入(inject)?

flutter - 如何在 Flutter 中制作手势驱动的动画?

android - Flutter app gradle构建异常失败