【发布时间】:2021-08-05 19:47:26
【问题描述】:
我在使用 Provider 时遇到了困难,遇到了 Riverpod,它只是 Provider 的下一代。我正在尝试使用 Riverpod 创建 StreamProvider,但出现错误。
这里是创建 StreamProvider 的代码:
final trxnStreamProvider = StreamProvider.autoDispose<List<Trxns>>((ref) {
final stream = firestoreService.getAgencyTrxns();
return stream.map((snapshot) => snapshot.docs.map((doc) => Trxns.fromFirestore(doc.data)).toList());
});
我得到的错误标记代码“doc.data”。这是错误文本:
The argument type 'Object? Function()' can't be assigned to the parameter type 'Map<String, dynamic>'.
这里是“Trxns.fromFirestore(doc.data)”的代码:
Trxns.fromFirestore(Map<String, dynamic> firestore)
: clientFName = firestore['clientFName'],
clientLName = firestore['clientLName'];
我还是新手,很难理解错误消息。是不是说“doc.data”不是正确的类型?如果是这样,我该如何解决这个问题?如果没有,是什么问题以及如何解决?
【问题讨论】: