【发布时间】:2021-07-04 23:35:34
【问题描述】:
背景
-
ValueNotifier有一个ValueListenableBuilder小部件。 -
Stream有一个StreamBuilder小部件。 -
Future有一个FutureBuilder小部件。
问题
-
ChangeNotifier的生成器是什么?
我尝试了什么
我尝试将ValueListenableBuilder 与ChangeNotifier 一起使用,但ChangeNotifier 没有实现ValueListenable。
我知道我可以使用Provider 包中的ChangeNotifierProvider,但我想知道是否有不需要第三方包的解决方案。
【问题讨论】:
-
AnimatedBuilder(或者AnimatedWidget,如果你想要一些扩展AnimatedWidget的自定义类) -
@pskink,很有趣!我不会从名字中猜到的。
-
有时,我感觉就像走过你走过的那一步。每当我尝试在您的“极简主义”架构上构建时,我都会看到您的解决方案突然出现。我的页面的 ViewModel/Controller/Manager 类是
ChangeNotifier,其中包含多个简单/复杂的ValueNotifiers。 UI 通过整个 ViewModelnotifyListeners()或其微调属性 ValueNotifiers 得到相应的通知。我使用ChangeNotifier作为 ViewModel,因为ValueNotifier子类需要相等性检查==来通知。这意味着覆盖所说的==+hashCode或使用Equatable。 -
由于上述原因,我一直在寻找
ChangeNotifierbuilder。这个问题/答案非常适合这种特殊情况。 -
@om-ha,我喜欢
ChangeNotifier,因为它简单易用。不过,我从来不需要在我的值通知程序中覆盖==和hashCode。
标签: flutter dart flutter-change-notifier