微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Flutter + Provider + Sqflite:聚合数据状态管理

如何解决Flutter + Provider + Sqflite:聚合数据状态管理

背景

假设我有 30 个 sqlite db 实体及其相应的单个 dart 类模型。其中,许多被聚合并显示在应用程序的几个小部件中。 CRUD 操作应该重新运行相应的聚合并更新相应的消费数据的 ui/widgets。

当前状态

今天我每次构建小部件时都从数据库中读取数据。

需要

如何在不为每个实体和聚合视图创建一个提供程序的情况下为聚合以及实体提供通用提供程序/侦听器?它应该能够解决要更新哪些小部件。

我想要一个带有依赖树的状态管理层,而不是每次构建小部件时都从数据库中读取数据。

解决方法

我的理解是,您希望使用提供程序包进行状态管理,但您不想创建扩展 ChangeNotifier 的类型来管理您的数据模型。

您必须扩展 ChnageNotifier 才能在需要更新 UI 的地方调用 notifyListeners。因此,至少创建一种扩展 ChangeNotifier 的类型,并让它管理您的所有数据对象。一般来说,这不是一个好方法,因为没有理由不为每个模型创建一个类型。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。