Flireter Firestore запрос на возврат списка - PullRequest
0 голосов
/ 22 ноября 2018

Я использую flutter и firebase для создания социальной сети, подобной программе, и в настоящее время мне нужно найти ответ, чтобы вернуть список пользователей, за которыми пользователь не подписался.

Для этого я пытаюсь сгенерировать список идентификаторов пользователей, для которых следует пользователь, а затем циклически перебирать каждый идентификатор пользователя (вероятно, будет установлен предел) и определять, присутствует ли этот идентификатор всписок идентификаторов пользователей, за которыми пользователь не следовал.Я бы тогда вернул список виджетов для этого.

В настоящее время я пытаюсь вызвать поток текущих подписчиков, чтобы вернуть список всех пользователей, за которыми в данный момент следит пользователь, но Flutter не позволяет мне вернуть список из этого списка?

class AddFollowers extends StatelessWidget {
  final String userId = 'userID imported here';

  Stream<List<String>> getFollowers(userId) async {
    final QuerySnapshot result = await Firestore.instance
        .collection('relationships')
        .document(userId)
        .collection('followers')
        .where("follower", isEqualTo: true)
        .getDocuments();
    final List<DocumentSnapshot> documents = result.documents;
    return documents;
  }

  @override
  Widget build(BuildContext context) {
    return new Scaffold(
      appBar: AppBar(
        elevation: 0.0,
        leading: IconButton(
          icon: Icon(Icons.close),
          onPressed: () => Navigator.of(context).pop(),
        ),
        title: new Text("Find Your Following"),
      ),
      body: new Container(
        child: new StreamBuilder(
            stream: getFollowers(userId),
            builder:
                null //after returning the followers, I will build widgets of non-followers
            ),
      ),
//        new FindFollowerWidget(),
    );
  }
}

Любой совет, как вернуть эту или лучшую структуру, очень ценится.Спасибо!

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