Flutter Web: не пойманный (в обещании) Ошибка: [cloud_firestore / неизвестно] Ошибка NoSuchMethodError: недопустимый элемент с нулевым значением: ‘includeMetadataChanges’

#firebase #flutter #web

#firebase #flutter #веб

Вопрос:

Flutter Web: не пойманный (в обещании) Ошибка: [cloud_firestore/ неизвестно] Ошибка NoSuchMethodError: недопустимый элемент с нулевым значением: ‘includeMetadataChanges’…

введите описание изображения здесь

pubspec.yaml

 firebase_storage: ^7.0.0
 

index.html

  <script src="https://www.gstatic.com/firebasejs/8.2.3/firebase-app.js"></script>
  <script src="https://www.gstatic.com/firebasejs/8.2.3/firebase-auth.js"></script>
  <script src="https://www.gstatic.com/firebasejs/8.2.3/firebase-analytics.js"></script>
  <script src="https://www.gstatic.com/firebasejs/8.2.3/firebase-firestore.js"></script>
 

Код

 class UserNotifier extends StateNotifier<List<UserModel>> {
  UserNotifier([List<UserModel>? state])
      : super(state = <UserModel>[]) {     
    fatchData(); // It's same as initState();
  }
 

  Future fatchData() async {
    QuerySnapshot snapshot =
        await FirebaseFirestore.instance.collection('Users').get();
    final List<UserModel> users = [];
    snapshot.docs.forEach((document) {
      UserModel _user = UserModel.fromSnapshot(document);
      users.add(_user);
    });
  }
}
 

В данных нет null. Каково решение?

Комментарии:

1. Я изменил firebase-firestore версии 8.2.3 на 7.22.1, и она работает хорошо. (firebase-analytics, firebase-firestore)

Ответ №1:

В последней версии есть какая-то проблема. Попробуйте более старые версии, чтобы решить проблему.
https://github.com/FirebaseExtended/flutterfire/issues/4127

Эта версия работала для меня, в pubspec.yaml

 firebase_core: ^0.5.3
firebase_auth: ^0.18.4 1
cloud_firestore: ^0.14.4
 

В index.html

 <script src="https://www.gstatic.com/firebasejs/7.22.1/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/7.22.1/firebase-analytics.js"></script>
<script src="https://www.gstatic.com/firebasejs/7.22.1/firebase-auth.js"></script>
<script src="https://www.gstatic.com/firebasejs/7.22.1/firebase-firestore.js"></script>