【问题标题】:Firestore fetch never executes in Flutter CodeFirestore fetch 永远不会在 Flutter 代码中执行
【发布时间】:2018-07-07 09:32:58
【问题描述】:

我的代码中有一个名为“length”的 int,我正在尝试从 Cloud Firestore 中的字段更改它的值:

 int length;
_handlePressed(context) {
    DocumentReference postReference =  Firestore.instance.collection(ISBN).document(post);

    postReference.get().then((datasnapshot){
      if(datasnapshot.exists) {
        length = datasnapshot.data["length"];
        print(length.toString());
      }
    });
}

“长度”字段作为数字类型存储在我的 Firestore 中。

问题是print 操作未执行,在其他地方打印length 在控制台中显示null。我错过了什么?

【问题讨论】:

    标签: firebase google-cloud-firestore flutter


    【解决方案1】:

    首先,确保确实调用了_handlePressed,然后在使用StatefulWidget 时使用setState 更新状态:

    int length; 
    _handlePressed(context) { 
        DocumentReference postReference = Firestore.instance.collection(ISBN).document(post); 
        postReference.get().then((datasnapshot){ 
        if(datasnapshot.exists) { 
            setState(()
                length = datasnapshot.data["length"];
            );
        print(length.toString()); 
    } }); }
    

    【讨论】:

      猜你喜欢
      • 2016-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-10
      • 2020-12-07
      • 2018-07-31
      • 2015-02-18
      • 1970-01-01
      相关资源
      最近更新 更多