Получатель 'instance' не определен для типа 'Firestore'

Aug 19 2020

Привет, ребята, когда я пытаюсь объявить экземпляр Firestore, он выдает эту ошибку! все, что происходит после того, как я обновил свой Flutter до последней версии

final databaseReference = Firestore.instance;

я использую

cloud_firestore: ^0.14.0

Ответы

4 PeterHaddad Aug 19 2020 at 00:38

Начиная с cloud_firestoreверсии 0.14.0:

В новейшей версии cloud_firestoreкласс Firestoreустарел, теперь вам нужно использовать его FirebaseFirestore, поэтому просто выполните:

Импортируйте пакет:

import 'package:cloud_firestore/cloud_firestore.dart'

Чтобы создать экземпляр:

final databaseReference  = FirebaseFirestore.instance;

Другие ссылки относительно изменений в Firebase:

Приложение Firebase "[ПО УМОЛЧАНИЮ]" не создано - вызовите Firebase.initializeApp () во Flutter и Firebase.

Неопределенный класс FirebaseUser

cloud_firestore 0.14.0 как использовать метод данных

3 ombiro Aug 20 2020 at 12:54

Cloud_firestore версии 0.14.0 содержит следующие изменения: импортировать пакет:

import 'package:firebase_auth/firebase_auth.dart';

FirebaseUser больше не доступен. Чтобы объявить пользователя Firebase, используйте следующее: //Пользователь,

Чтобы объявить экземпляр Firebase, используйте:

final firebaseInstance= FirebaseFirestore.instance;

вместо вызова .document (uid) используйте:

.doc(uid)

Например:

    await db
    .collection(Str.USERS_MESSAGE_LIST)
    .document(uid)
    .collection(Str.MESSAGE_COLLECTION)
    .document("$itemId$sellerId")
    .setData({...

станет:

    await db
    .collection(Str.USERS_MESSAGE_LIST)
    .doc(uid)//note this
    .collection(Str.MESSAGE_COLLECTION)
    .document("$itemId$sellerId")
    .set({//note this

Аналогично другим запросам, использование .data () вместо .data ([]}, например

.startAfter([lastDocument.data[Str.ITEM_NAME]]).limit(perPage);

перепишется как:

.startAfter([lastDocument.data()[Str.ITEM_NAME]]).limit(perPage);//note the () after data

Для пользователя: используйте:

User user = FirebaseAuth.instance.currentUser;

И многие другие изменения - см. Официальную документацию Firestore / Firebase.