.once(), похоже, не работает / не распознается при работе с Flutter и Firebase

#firebase #flutter #dart #google-cloud-firestore

# #firebase #flutter #dart #google-облако-firestore

Вопрос:

Я пытаюсь извлечь некоторые данные из FireStore и сохранить их в локальном списке, который будет отображаться позже в виде карточек. Я видел много руководств, в которых люди использовали .once() для извлечения данных.

Теперь, когда я пытаюсь сделать то же самое, появляется ошибка, например, слово не распознано.

 @override
  void initState() {
    super.initState();
    CollectionReference dbRefItem = FirebaseFirestore.instance.collection("items");
    ***dbRefItem.once().then***
  }
 

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

Кажется, я не могу найти какую-либо документацию, если она устарела или я делаю что-то не так! Наведение курсора на ошибку говорит

«Метод ‘once’ не определен для типа’CollectionReference’. Попробуйте исправить имя на имя существующего метода или определить метод с именем «once». «

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

1. что говорит линтер. Попробуйте навести курсор на волнистые линии и вставить журнал сюда.

2. @uni: метод ‘once’ не определен для типа ‘CollectionReference’. Попробуйте исправить имя на имя существующего метода или определить метод с именем ‘once’.

3. Добавили ли вы ядро Firebase и пакет firestore в pubspec.yaml? Кроме того, проверьте, импортировали ли вы пакет firestore над этим файлом dart

4. Да, он импортирован и в yaml. Согласно новой документации, основной импорт не требуется, поскольку это подмножество другого пакета хранения FireStore, но я все равно импортировал все.

5. Не уверен, почему эта проблема все еще появляется, попробуйте перезапустить android studio и удалить .then(), и если это все еще не удается, запустите восстановление кэша flutter pub в командной строке

Ответ №1:

.get() .once() однако, .once() синтаксис не принимается последним SDK Flutter во время работы с предыдущим. Подняли заявку на форуме разработчиков Flutter.