【问题标题】:Firebase Flutter: query receive null but when reload emulator works fineFirebase Flutter:查询接收 null 但重新加载模拟器时工作正常
【发布时间】:2021-09-26 22:19:51
【问题描述】:

在我的收藏中,我试图使用参考字段存储的收藏/文档 ID,但它对我不起作用,或者我搞砸了。我决定将字段类型从引用类型更改为字符串类型并存储 doc id。

我使用 Streambuilder 查询以获取 doc id,并尝试使用另一个 Streambuilder 通过我从第一个查询中获得的 doc id 进行查询。错误说接收 null 但是当我重新加载模拟器时它工作正常

错误和一些代码图片-> I use streambuilder inside streambuilder for query

有没有办法避免嵌套嵌套的Streambuilder?

【问题讨论】:

  • 请将流生成器代码和错误消息以文本形式发布。
  • 不要发布图片,只发布错误日志和代码的重要部分。 How to Ask

标签: firebase flutter


【解决方案1】:

StreamBuilder, FutureBuilder, async 所有这些方法都需要一些时间来加载并且可以返回一个null 值所以,你需要检查这个值。

...

builder: (context, snapshot) {
  if (snapshot.hasData) {
    //This "??" will avoid problems if snapshot has data but "tname" is null
    return Text(snapshot.data["tname"] ?? "Default value"); 
  }
  //Add something to indicate that the value is loading or is null
  return Text("Default Value"); 
}

【讨论】:

    猜你喜欢
    • 2021-09-27
    • 2020-08-14
    • 1970-01-01
    • 2019-08-03
    • 2021-04-04
    • 2020-06-20
    • 1970-01-01
    • 2022-01-24
    • 1970-01-01
    相关资源
    最近更新 更多