Снимки данных из Firestore - PullRequest
       28

Снимки данных из Firestore

0 голосов
/ 03 ноября 2019

Мне нравится снимать данные из Firebase. Это работает только после того, как я синхронизирую свои файлы из VS Code (Ctrl + S). Я могу просмотреть данные после этого процесса, но он не загружает ListTile с атрибутами из firestore самостоятельно. У кого-нибудь была похожая проблема и выручить? Спасибо

String _userID;

Future getUserId() async {
    FirebaseUser user = await FirebaseAuth.instance.currentUser();
    _userID = user.uid.toString();
  }

StreamBuilder buildStream(BuildContext context) {
    final databaseReference = Firestore.instance;

    setState(() {
      getUserId();  
    }); 

return StreamBuilder(
  stream: databaseReference.collection("users").
                            document("$_userID").
                            collection("usersEventList").
                            snapshots(),
  builder: (context, snapshot) {
    if(!snapshot.hasData) return const Text("No event found");
    return ListView.builder(
      itemExtent: 80.0,
      itemCount: snapshot.data.documents.length,
      itemBuilder: (context, index) =>
        buildCanbanList(context, snapshot.data.documents[index]),
    );
  },
);
}

До синхронизации / После синхронизации:

before sync after sync

1 Ответ

0 голосов
/ 03 ноября 2019

_userId должен быть объявлен до сборки StreamBuilder. Вот почему мне приходилось «перезагружать» каждый раз, когда я хотел увидеть данные. Правильный ответ находится здесь: https://stackoverflow.com/a/54725472/12246792

...