Как создать общий источник данных, который все классы и виджеты могут использовать во флаттере - PullRequest
1 голос
/ 20 мая 2019

У меня есть несколько классов, виджетов, списков и страниц, которые используют те же данные, которые поступают из облачного пожарного хранилища. Проблема в том, что каждый раз, когда я открываю новую страницу, мне нужно получать те же данные, которые были на предыдущей странице, из облачного пожарного хранилища, и это увеличивает чтение документов. Итак, как я могу создать что-то, что является общим источником данных, а также обновлений с обновлением значений в облачном хранилище, а не просто с обычной передачей данных между страницами.

Возможно, может помочь какое-то решение с использованием нового пакета провайдера, но я не уверен или создаю один глобальный поток, который могут прослушивать все классы, но я боюсь, что считывания при каждом подключении к потоку будут подсчитаны или это просто первая инициализация потока, которая считает количество операций чтения

Ответы [ 2 ]

0 голосов
/ 20 мая 2019

Мое приложение также работает с Cloud Firestore, и я использую BLoC для извлечения данных из Firestore. Я называю свой класс BLoC в основном, когда приложение запускается. Если у вас не слишком много виджетов, вы можете передать данные в ваш виджет. Если у вас много виджетов, вы можете использовать унаследованные виджеты, чтобы сделать данные доступными для всех виджетов в вашем приложении.

Два интересных видео:

https://www.youtube.com/watch?v=fahC3ky_zW0

https://www.youtube.com/watch?v=Zbm3hjPjQMk

0 голосов
/ 20 мая 2019

Если ваши данные подвержены риску изменения, то вы определенно хотите подписаться на поток с помощью снимка запроса. Если вы используете управление состоянием, вы сможете передавать данные в любой виджет, который в них нуждается. Избегайте положить. Ваш запрос в виджетах. Изучите использование BLoC или Redux для управления состоянием. Есть и другие, но это популярные варианты complete . Провайдер не решает эту проблему. Это может обеспечить кусок головоломки, хотя. Вы действительно должны понимать управление состоянием в этой точке вашей игры. Требуется идти вперед и сохранять ваши чтения и записи

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