在 Riverpod 中获取 Firestore 收集数据?

问题描述

我创建了一个自定义 Flutter 小部件 (StreamBuilder) 来从 Firestore 获取数据。我使用这些数据来填充一个包含鞋子的 GridView。

我还需要来自其他集合的数据来填充 GridView。该集合包含某个用户喜欢的所有鞋款 ID。问题是我不想使用嵌套的 StreamBuilders 来获取第二个集合

是否可以在诸如 riverpod 之类的提供程序中获取喜欢的 shoesID 并监听更新?

final _firestore = FirebaseFirestore.instance;

class ProductsList extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return StreamBuilder<QuerySnapshot>(
      stream: _firestore.collection('shoes').orderBy('title').snapshots(),builder: (context,snapshot) {
        if (!snapshot.hasData) {
          return Center(
            child: CircularProgressIndicator(
              backgroundColor: Colors.lightBlueAccent,),);
        }

        final shoes = snapshot.data.docs;
        List<ProductColumn> productColumnsList = [];
        for (var shoe in shoes) {
          final title = shoe.data()['title'];
          final price = shoe.data()['price'];
          final imgurl = shoe.data()['imgurl'];
          final rating = shoe.data()['rating'];
          final sale = shoe.data()['sale'];
          final subTitle = shoe.data()['subTitle'];
          final isLiked = false;
          productColumnsList.add(
            ProductColumn(
              title: title,price: price,imgurl: imgurl,rating: rating,sale: sale,subTitle: subTitle,isLiked: isLiked,);
        }
        return Expanded(
          child: GridView.count(
            childAspectRatio: 0.62,crossAxisspacing: 8.0,mainAxisspacing: 8.0,crossAxisCount: 2,children: productColumnsList,);
      },);
  }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)