La 'instancia' del captador no está definida para el tipo 'Firestore'
Hola chicos, cuando trato de declarar una instancia de Firestore, me da este error. todo lo que sucede después de actualizar mi Flutter a la última versión

referencia de base de datos final = Firestore.instance;
yo suelo
cloud_firestore: ^0.14.0
Respuestas
A partir de cloud_firestore
la versión 0.14.0:
En la versión más reciente de cloud_firestore
, la clase Firestore
estaba en desuso ahora tiene que usar FirebaseFirestore
, así que solo haga lo siguiente:
Importar el paquete:
import 'package:cloud_firestore/cloud_firestore.dart'
Para crear una instancia:
final databaseReference = FirebaseFirestore.instance;
Otros enlaces sobre los cambios en Firebase:
No se ha creado ninguna aplicación de Firebase '[DEFAULT]': llama a Firebase.initializeApp() en Flutter y Firebase
Clase indefinida 'FirebaseUser'
cloud_firestore 0.14.0 cómo usar el método de datos
Cloud_firestore versión 0.14.0 tiene los siguientes cambios: importe el paquete:
import 'package:firebase_auth/firebase_auth.dart';
FirebaseUser ya no está disponible. Para declarar un usuario de Firebase, use lo siguiente; //Usuario,
Para declarar una instancia de Firebase, use:
final firebaseInstance= FirebaseFirestore.instance;
en lugar de llamar a .document(uid), use:
.doc(uid)
por ejemplo:
await db
.collection(Str.USERS_MESSAGE_LIST)
.document(uid)
.collection(Str.MESSAGE_COLLECTION)
.document("$itemId$sellerId")
.setData({...
se convertirá:
await db
.collection(Str.USERS_MESSAGE_LIST)
.doc(uid)//note this
.collection(Str.MESSAGE_COLLECTION)
.document("$itemId$sellerId")
.set({//note this
De manera similar para otras consultas, use .data() en lugar de .data([]}, por ejemplo
.startAfter([lastDocument.data[Str.ITEM_NAME]]).limit(perPage);
se reescribirá como:
.startAfter([lastDocument.data()[Str.ITEM_NAME]]).limit(perPage);//note the () after data
Para un usuario: use:
User user = FirebaseAuth.instance.currentUser;
Y muchos otros cambios: consulte la documentación oficial de Firestore/Firebase