在我的应用程序中,我有一个单例 SettingsData,它保存所有用户的设置数据(而不是每次都从 SharedPreferences 异步读取一次)。 我在调用 RunApp(...) 之前创建了那个单例。
最重要的是,我有一个小部件 CurrentItems(它是一个 ChangeNotifierProvider),这是一个业务逻辑,表示要根据用户当前的设置/首选项显示给用户的项目。
在用户设置发生任何变化时(当然是去抖动),我想通知 CurrentItems 对象,以便它可以从服务器获取相关项目,并在获取新的相关项目后更新 UI(最后一部分已经在工作,因为CurrentItems 是一个 ChangeNotifierProvider)
实现这一目标的合理方式/模式是什么?
例如,将 SettingsData 设为 ChangeNotifierProvider 并将 CurrentItems 设为 Consumer 并不是一个好的选择,因为 CurrentItems 是一个高级项目,这意味着在从服务器获取新项目之前,每次设置更改时都会重建整个 UI。< /p>