小编Dav*_*ata的帖子

参数类型“对象?” 无法分配给参数类型“Map <String,dynamic>”

我正在尝试使用小组件从 Firestore 中的文档中检索数据。我过去用过这个,我想是用不同版本的 Dart 或 flutter,而且它有效。现在,当我使用参数类型“对象?”时,显示以下错误 (doc.data()) 无法分配给参数类型“Map <String,dynamic>”

这是代码

DriverProvider driverProvider;

void getDriverInfo() {
    Stream<DocumentSnapshot> driverStream =
        driverProvider!.getbyIdStream(FirebaseAuth.instance.currentUser!.uid);
    driverStream.listen((DocumentSnapshot doc) {
      driver = Driver.fromJson(doc.data());
    });
  }

Run Code Online (Sandbox Code Playgroud)

这里是driverProvider!来自

import 'package:brokerdrivers/models/user-models.dart';
import 'package:cloud_firestore/cloud_firestore.dart';

class DriverProvider {
  CollectionReference? _ref;

  DriverProvider() {
    _ref = FirebaseFirestore.instance.collection('Drivers');
  }

  Future? create(Driver driver) {
    String? errorMessage;

    try {
      return _ref!.doc(driver.id).set(driver.toJson());
    } catch (e) {
      print(e);
      errorMessage = e.toString();
      return Future.error(errorMessage);
    }
  }

  Stream<DocumentSnapshot> getbyIdStream(String id) {
    return _ref!.doc(id).snapshots(includeMetadataChanges: true);
  }
}



Run Code Online (Sandbox Code Playgroud)

这就是getbyIdStream来自


  Stream<DocumentSnapshot> …
Run Code Online (Sandbox Code Playgroud)

dart firebase flutter

2
推荐指数
1
解决办法
3468
查看次数

标签 统计

dart ×1

firebase ×1

flutter ×1