【问题标题】:The argument type 'Stream<dynamic>' can't be assigned to the parameter type 'Stream<QuerySnapshot>?'参数类型“Stream<dynamic>”不能分配给参数类型“Stream<QuerySnapshot>?”
【发布时间】:2021-09-26 03:28:20
【问题描述】:

我收到错误“无法将参数类型'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 获取帖子,但出现此错误。它还说

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

【问题讨论】:

  • 您应该将?添加到您的Streamdefinition。 Stream postStream = FirebaseFirestore.instance.collection('posts').snapshots();Stream? postStream = FirebaseFirestore.instance.collection('posts').snapshots(); 使其可以为空
  • 完成了。没有什么变化。它仍然给出同样的错误。

标签: flutter google-cloud-firestore firebase-authentication


【解决方案1】:

改成这个

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

【讨论】:

    猜你喜欢
    • 2023-03-13
    • 2021-12-30
    • 2021-10-28
    • 2021-09-04
    • 1970-01-01
    • 1970-01-01
    • 2021-11-05
    • 2021-05-25
    • 1970-01-01
    相关资源
    最近更新 更多