Переход с провайдера на Riverpod

#flutter #provider #riverpod

Вопрос:

Я застрял в использовании провайдера и наткнулся на Riverpod, который является просто провайдером следующего поколения. Я пытаюсь создать потоковый провайдер с помощью Riverpod, но получаю сообщение об ошибке.

Вот код для создания 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(док.данные)»:

 Trxns.fromFirestore(Map<String, dynamic> firestore)
      : clientFName = firestore['clientFName'],
        clientLName = firestore['clientLName'];
 

Я все еще новичок в этом, и мне трудно понять сообщение об ошибке. Говорит ли это о том, что «doc.data» не является правильным типом? Если да, то как мне это исправить? Если нет, то что не так и как мне это исправить?