簡體   English   中英

監聽 Firestore 上的文檔更改並為 StreamBuilder 創建對象的 stream

[英]Listen to document changes on Firestore and create a stream of objects for StreamBuilder

我有以下 function 從 Firestore 獲取產品文檔,與FutureBuilder一起使用:

Future<Product> getProduct(String productId) async {
    var ref = _db.collection('products').doc(productId);
    var snapshot = await ref.get();
    return Product.fromJson(snapshot.data() ?? {});
  }

我可以實現相同的功能,但使用StreamBuilder以便在文檔發生更改時調用構建方法?

Stream<Product> listenToProduct(String productId) {
?
};

好吧,這似乎有效:

Stream<Product> listenToProduct(String productId) {
return _db.collection('products')
    .doc(productId)
    .snapshots()
    .map((snapshot) => Product.fromJson(snapshot.data()!));
}
Stream<Product> listenToProduct(String productId) {
   return _db.collection('products').doc(productId).snapshots()
          .listen((event) => Product.fromJson(snapshot.data() ?? {});
}

類似的東西。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM