Я пытаюсь составить список подписчиков в трепете, используя данные Firebase «Пользователь». По какой-то причине мои данные не отображаются - PullRequest
0 голосов
/ 19 июня 2020

Вот мой код:

import 'package:cached_network_image/cached_network_image.dart';
        import 'package:cloud_firestore/cloud_firestore.dart';
        import 'package:flutter/material.dart';
        import 'package:fluttershare/models/user.dart';
        import 'package:fluttershare/pages/activity_feed.dart';
        import 'package:fluttershare/pages/home.dart';
        import 'package:fluttershare/pages/profile.dart';
        import 'package:fluttershare/pages/search.dart';
        import 'package:fluttershare/pages/uploadpages.dart/followers.dart';
        import 'package:fluttershare/widgets/progress.dart';



    class FollowingList extends StatefulWidget {
      String profileId;
      String currentUserId;

      FollowingList({this.profileId, this.currentUserId});
      @override
      _FollowersListState createState() => _FollowersListState();
    }

    class _FollowersListState extends State<FollowingList> {
      List<String>followingList = [];

      List<UserResult> following = [];
      List<User> users = [];
      final String currentUserId = currentUser?.id;

      bool isLoading = false;
      bool isFollowing = false;
      int followerCount = 0;
      int followingCount = 0;
      User user;
      int count;
      int listcount;
      @override
      void initState() { 
        super.initState();
        setState(() {
        followingList = [];
        users = [];
        });
        checkIfFollowing();
        getFollowing();
        buildFollowing();
      }
      checkIfFollowing() async {
        DocumentSnapshot doc = await followersRef
            .document(widget.profileId)
            .collection('userFollowers')
            .document(currentUserId)
            .get();
        setState(() {
          isFollowing = doc.exists;
        });
      }

      getFollowing() async {
        QuerySnapshot snapshot = await followingRef
            .document(widget.profileId)
            .collection('userFollowing')
            .getDocuments();
        setState(() {
          followingList = snapshot.documents.map((doc) => doc.documentID).toList();
          followingList.forEach((element) async {
            print(followingList.length);
          DocumentSnapshot doc = await usersRef.document(element).get();
          User user = User.fromDocument(doc);

          users.add(user);
          print(user.username);
        });
        });
      }
      buildFollowing() async {
        QuerySnapshot snapshot = await followingRef
            .document(widget.profileId)
            .collection('userFollowing')
            .getDocuments();
          List<UserResult> following =
            snapshot.documents.map((doc) => UserResult.fromDocument(doc)).toList();
            setState(() {
              this.following = following;
            });
      }
      @override
      Widget build(BuildContext context) {
        return Scaffold(
            appBar: AppBar(
            backgroundColor: Colors.teal,
            title: Text(
                  'Followers',
                  style: TextStyle(
                    fontFamily: "Signatra",
                    fontSize: 45.0,
                    color: Colors.white,
                  ),
                ),
          ),
          body: ListView(children: following)
        );
      }
    }

По какой-то странной причине он показывает мои карты пользователей, которые у меня есть, после того, как я их сохраню.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...