Как мне прослушать документ с идентификатором UID аутентификации?

0
задан creativecreatorormaybenot 14 April 2019 в 13:39
поделиться

1 ответ

Вам необходимо вложить StreamBuilder в FutureBuilder, потому что вам нужно будет дождаться пользователя от FirebaseAuth, прежде чем вы сможете получить поток. Тем не менее, это неплохо вообще.
Вот как работает Flutter: вложенные виджеты.

..., child: FutureBuilder(
        future: FirebaseAuth.instance.currentUser(),
        builder: (BuildContext context, AsyncSnapshot<FirebaseUser> snapshot) {
          if (snapshot.connectionState != ConnectionState.done) return Container();
          return StreamBuilder<DocumentSnapshot>(
            stream: Firestore.instance.collection('userinfo').document(snapshot.data.uid).snapshots(),
            builder: (BuildContext context, AsyncSnapshot snapshot) {
              if (!snapshot.hasData) return Container();
              return Column(...);
            },
          );
        })

Другим аспектом, который имеет решающее значение для этого, является то, что вы всегда возвращаете виджет от любого сборщика. Если вы не вернете виджет сборщику во Flutter, ваше приложение будет сломано, то есть будет сгенерировано исключение во время выполнения.

0
ответ дан creativecreatorormaybenot 14 April 2019 в 13:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: