¿Por qué esta instantánea obtiene todos los documentos dos veces? Aleteo
Aug 15 2020
tengo algo sencillo:
.snapshots()
.listen((snapshot) {
snapshot.documentChanges.forEach((doc) { // Loop every document
if (doc.type == DocumentChangeType.modified) { // If doc is modified
print(doc.document.documentID);
}
});
});
Tengo en total 2 documentos y escucho la colección donde se almacenan esos documentos. Solo quiero el ID de documento del modificado, pero obtengo esto:
I/flutter ( 2785): bdfDfgsDg4TsdfadvGew
I/flutter ( 2785): bdfDfgsDg4TsdfadvGew
I/flutter ( 2785): bdfDfgsDg4TsdfadvGew
I/flutter ( 2785): bdfDfgsDg4TsdfadvGew
¿Por qué cuatro veces? Si fue 2 veces, es obtenerlo porque tengo un bucle foreach.
Respuestas
SrilalSachintha Aug 15 2020 at 18:49
Lo más probable es que lo que sucede es que se llama a su ciclo cada vez que se construye el Estado. obtienes 4 porque tu estado se reconstruye 2 veces por alguna razón.
No puedo decir mucho sin ver el código completo. pero por encima de la razón es el caso más común.