O getter 'instance' não está definido para o tipo 'Firestore'
Oi pessoal, quando estou tentando declarar uma instância do Firestore, ele dá esse erro! tudo o que está acontecendo depois que atualizo meu Flutter para a última versão

final databaseReference = Firestore.instance;
eu uso
cloud_firestore: ^0.14.0
Respostas
A partir da cloud_firestore
versão 0.14.0:
Na versão mais recente do cloud_firestore
, a classe Firestore
foi descontinuada agora você tem que usar FirebaseFirestore
, então apenas faça:
Importe o pacote:
import 'package:cloud_firestore/cloud_firestore.dart'
Para criar uma instância:
final databaseReference = FirebaseFirestore.instance;
Outros links sobre as mudanças no Firebase:
Nenhum aplicativo Firebase '[DEFAULT]' foi criado - chame Firebase.initializeApp() no Flutter e no Firebase
Classe indefinida 'FirebaseUser'
cloud_firestore 0.14.0 como usar o método de dados
Cloud_firestore versão 0.14.0 tem as seguintes alterações: importar o pacote:
import 'package:firebase_auth/firebase_auth.dart';
FirebaseUser não está mais disponível. Para declarar um usuário do Firebase, use o seguinte; //Do utilizador,
Para declarar uma instância do Firebase, use:
final firebaseInstance= FirebaseFirestore.instance;
em vez de chamar .document(uid), use:
.doc(uid)
por exemplo:
await db
.collection(Str.USERS_MESSAGE_LIST)
.document(uid)
.collection(Str.MESSAGE_COLLECTION)
.document("$itemId$sellerId")
.setData({...
se tornará:
await db
.collection(Str.USERS_MESSAGE_LIST)
.doc(uid)//note this
.collection(Str.MESSAGE_COLLECTION)
.document("$itemId$sellerId")
.set({//note this
Da mesma forma para outras consultas, use .data() em vez de .data([]} por exemplo
.startAfter([lastDocument.data[Str.ITEM_NAME]]).limit(perPage);
será reescrito como:
.startAfter([lastDocument.data()[Str.ITEM_NAME]]).limit(perPage);//note the () after data
Para um usuário: use:
User user = FirebaseAuth.instance.currentUser;
E muitas outras alterações - consulte a documentação oficial do Firestore/Firebase