Перейдите (с любого экрана) на Screen3, при этом требуются данные параметров из Screen2 (который использует StreamBuilder)) - PullRequest
0 голосов
/ 08 апреля 2019

Рассмотрим следующую структуру:

Screen1 -> Screen2 -> Screen3

Screen2 имеет StreamBuilder, подключенный к Firestore с ListView.builder, который показывает список чатов.Если пользователь нажимает на чат, открывается соответствующий групповой чат.Поэтому Screen2 дает множество параметров для Screen3, таких как groupId, groupName, groupImage и т. Д., Чтобы открыть правильный чат со всеми его данными.

Теперь я хочу перейти к определенному чатуScreen3, скажем, один для groupId 22233313 одним щелчком мыши (да, на push-уведомлении).У меня есть идентификатор группы, но сначала мне нужно каким-то образом получить данные из Screen2 (из StreamBuilder), в противном случае я получаю много нулевых значений.

Могу ли я как-нибудь открыть Screen2, автоматически нажать на чат с соответствующим groupId, чтобы перейти к Screen3, или у вас есть идея получше?

1 Ответ

0 голосов
/ 08 апреля 2019
  1. Я думаю, вы не должны держать свои данные FireStore зависимыми от экранов.
  2. Создайте класс репозитория для хранения ваших данных.
  3. Когда вы получаете данные, передайте их в свой класс хранилища.
  4. При открытии экрана 3 пропускают только идентификатор группы с экрана 2.
  5. Доступ к вашим данным из хранилища с помощью groupId.
  6. Подобная структура будет работать для вас в случае уведомлений.

Я рекомендую вам сделать это, используя шаблон BLoC.

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