首页 > 解决方案 > 如何创建所有类和小部件都可以在 Flutter 中使用的通用数据源

问题描述

我有多个类、小部件、列表视图和页面,它们使用来自云 Firestore 的相同数据。问题是每次我打开一个新页面时,我都必须从 Cloud Firestore 中获取与上一页相同的数据,这会增加文档的读取量。那么,我如何创建一个通用数据源的东西,并随着云 Firestore 中值的更新而更新,而不仅仅是页面之间的正常数据传递。

也许使用新提供程序包的一些解决方案可以提供帮助,但我不确定或创建一个所有类都可以收听的全局流,但我担心的是每个连接到流的读取都会被计算在内,或者它只是计算读取次数的流的第一次初始化?

标签: dartfluttergoogle-cloud-firestore

解决方案


我的应用程序也适用于 Cloud Firestore,我使用 BLoC 从 Firestore 获取数据。当应用程序启动时,我主要调用我的 BLoC 类。如果您没有太多的小部件,您可以将数据传递给您的小部件。如果您有很多小部件,您可以使用继承的小部件使数据可用于您的应用程序中的所有小部件。

两个有趣的视频:

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

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


推荐阅读