Por que esse instantâneo obtém todos os documentos duas vezes? vibrar
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
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”?
Christopher Nolan uma vez se arrependeu de ter lido o 'roteiro de Pulp Fiction' de Quentin Tarantino