flutter - Flutter:状态不佳:DocumentSnapshotPlatform 中不存在字段
问题描述
我正在上 Flutter 课程,我们目前正在研究 Firestore/Firebase。
在一个简单社区板的教程中,在线讲师使用了比我使用的版本稍早的 Dart/Flutter 版本(我使用的是最新的 V1.22.6)。输出将在 ListView 中的卡片上放置标题、描述和时间戳
在 Firestore 数据库中,其中一个文档具有时间戳字段,而另外两个则没有。这个练习是为了展示如何返回一个空值或者如果它不存在则什么都不返回。他通过一段代码解决了这个问题,这样它就不会在卡上返回任何内容:
Text((snapshot.documents[index].data["timestamp"] == null) ? "" :
snapshot.documents[index].data["timestamp"].toString())
随着 SDK 的更新,我已经修复了语法,但它不会打印 null 或任何内容,它只是与错误“坏状态:DocumentSnapshotPlatform 中不存在字段”保持一致。我想知道是否有解决方法,如果 Firestore DB 中有一堆文档,并且无论出于何种原因,文档中不存在某个字段,那么在卡上不打印任何内容的最佳方法是什么?
我的代码具有更新的语法:
Text((snapshot.docs[index]['timestamp'] == null) ? 'N/A' :
snapshot.docs[index]['timestamp'].toString())
错误堆栈:
The following StateError was thrown building CustomCard(dirty):
Bad state: field does not exist within the DocumentSnapshotPlatform
#0 DocumentSnapshotPlatform.get._findKeyValueInMap
package:cloud_firestore_platform_interface/…/platform_interface/platform_interface_document_snapshot.dart:82
#1 DocumentSnapshotPlatform.get._findComponent
package:cloud_firestore_platform_interface/…/platform_interface/platform_interface_document_snapshot.dart:100
#2 DocumentSnapshotPlatform.get
package:cloud_firestore_platform_interface/…/platform_interface/platform_interface_document_snapshot.dart:115
#3 DocumentSnapshot.get
package:cloud_firestore/src/document_snapshot.dart:45
#4 DocumentSnapshot.[]
package:cloud_firestore/src/document_snapshot.dart:52
...
══════════════════════════════════════════════════ ══════════════════════════════
解决方案
推荐阅读
- java - Spring boot Cache Abstraction 自定义实现
- javascript - Jest 测试 api 创建自己的上下文节点 js
- javascript - 在 create-react-app 服务工作者中缓存跨域 API 调用
- gsuite-addons - 是否有可能在谷歌表格上使用 myFunction 触发特定的列或行?
- shopify - 赛普拉斯对 Gatsby 的测试在 GitHub Actions 上失败
- c++ - Linux源码中实现的普通磁盘文件的‘poll’功能在哪里?
- javascript - 试图解析一个猫鼬对象
- google-cloud-platform - GCP HTTPS 负载均衡器请求在 300 秒后超时
- c# - C# 错误。请求被中止:无法创建 SSL/TLS 安全通道
- powershell - 从变量传递时调用命令计算机名无效错误