flutter - 参数类型 'Stream<dynamic>' 无法分配给参数类型 'Stream<QuerySnapshot>?'

标签 flutter google-cloud-firestore firebase-authentication

我收到错误“无法将参数类型“Stream”分配给参数类型“Stream?”运行此代码时:

import 'package:app_using_database/post.dart';
import 'package:flutter/material.dart';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:cloud_firestore/cloud_firestore.dart';

class Home extends StatelessWidget {
  Stream postStream =
      FirebaseFirestore.instance.collection('posts').snapshots();

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Container(
        padding: EdgeInsets.symmetric(horizontal: 10),
        child: SafeArea(
          child: StreamBuilder<QuerySnapshot>(
            stream: postStream,
            builder:
                (BuildContext context, AsyncSnapshot<QuerySnapshot> snapshot) {
              if (snapshot.hasError) {
                return Text('Something went wrong');
              }

              if (snapshot.connectionState == ConnectionState.waiting) {
                return Text("Loading");
              }

              return new ListView(
                children: snapshot.data!.docs.map((DocumentSnapshot document) {
                  Map<String, dynamic> data =
                      document.data() as Map<String, dynamic>;
                  return Post();
                }).toList(),
              );
            },
          ),
        ),
      ),
    );
  }
}

我正在尝试从 firebase 获取帖子,但出现此错误。它还说

  • “Stream”来自“dart:async”。
  • “QuerySnapshot”来自“package:cloud_firestore/cloud_firestore.dart”

最佳答案

改成这样

CollectionReference posts = FirebaseFirestore.instance.collection('posts');
.
.
.
stream: posts.snapshots()

关于flutter - 参数类型 'Stream<dynamic>' 无法分配给参数类型 'Stream<QuerySnapshot>?',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68424018/

相关文章:

Flutter:查看 whatsapp 上发送的消息?

dart - CupertinoTabBar 阻止当前选项卡底部如何避免这种情况还是默认行为

swift - "The default Firebase app has not yet been configured"当它有时 - Swift

firebase - FCM HTTP v1 : how to get access token using Go?

java - Flutter - 将 Java 例程转换为 flutter

flutter - 如何在没有点击的情况下显示 flutter 搜索文本字段

javascript - 在 lit-element 中重用 firebase 常量

firebase - Firestore 同步仅不同吗?

ios - 如何在 Swift 中使用 Firebase 处理离线注销?

firebase - 创建管理员/主管帐户以访问 firebase/firestore 中的团队帐户