Por que esse instantâneo obtém todos os documentos duas vezes? vibrar
Aug 15 2020
Eu tenho algo simples:
.snapshots()
.listen((snapshot) {
snapshot.documentChanges.forEach((doc) { // Loop every document
if (doc.type == DocumentChangeType.modified) { // If doc is modified
print(doc.document.documentID);
}
});
});
Tenho no total 2 documentos e ouço a coleção onde esses documentos estão armazenados. Eu quero apenas o documentId do alterado, mas eu recebo isso:
I/flutter ( 2785): bdfDfgsDg4TsdfadvGew
I/flutter ( 2785): bdfDfgsDg4TsdfadvGew
I/flutter ( 2785): bdfDfgsDg4TsdfadvGew
I/flutter ( 2785): bdfDfgsDg4TsdfadvGew
Por que quatro vezes? Se foi 2 vezes é pegar porque eu tenho um loop foreach.
Respostas
SrilalSachintha Aug 15 2020 at 18:49
Muito provavelmente o que acontece é o seu loop chamado toda vez que o State está sendo construído. você está obtendo 4 porque seu estado é reconstruído 2 vezes devido a algum motivo.
não posso dizer muito sem ver o código inteiro. mas acima da razão é o caso mais comum.
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?
George Harrison ficou chateado por suas letras de 'Hurdy Gurdy Man' de Donovan não terem sido usadas