Streambuilder在使用者内部返回null

时间:2019-09-17 09:39:32

标签: flutter google-cloud-firestore flutter-provider

我正在尝试使用包装在如下所示的使用者中的streambuilder从firestore中提取数据。但是,由于某种原因,它返回空错误。

我很困惑为什么在使用consumer时这会返回错误,但如果没有使用它就可以正常工作。使用消费者时,我是否必须对收藏进行不同的引用?

df %>%
separate(y, into = c(y_ind,y_alt1,...), sep = ",")

Stacktrace:

I / flutter(11582):══╡小工具库引起的异常CA ════════════════════════════

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key, this.title}) : super(key: key);
  final String title;

  @override
  _MyHomePageState createState() => new _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    final _width = MediaQuery
        .of(context)
        .size
        .width;
    final _height = MediaQuery
        .of(context)
        .size
        .height;
return Consumer<CurrentModel>(builder: (context, currentModel, child) {
      return StreamBuilder<DocumentSnapshot>(
        stream: Firestore.instance
            .collection(currentModel.uid)
            .document(currentModel.uid).snapshots(),
        builder: (context, snapshot) {
          if (snapshot.hasData) {
            return Stack(
children: <Widget>[
                new Container(
                  color: Colors.blue,
                ),
                new Image.network(
                  snapshot.data['imageurl'].toString(),
                  fit: BoxFit.fill,
                ),

1 个答案:

答案 0 :(得分:0)

我没有发现您的代码有任何错误。我认为正在发生的事情是您尚未在流中沉没任何价值。也许您可以为StreamBuilder设置一个initialValue来防止这种情况。