Flutter 颤振提供者最佳实践
我一直在试验提供者软件包,通常能够让它做我想要它做的事情。然而,在某些情况下,我不确定我所做的是否是最佳实践 例如,假设我有一个设置页面,其中包含各种不相关的选项——比如主题选项、通知选项、一些特定于应用程序的过滤选项等等 我的问题是,这些选项中的每一个是否都应该有自己的专用于单个值的类,以便只重建依赖于该单个值的小部件树的部分。或者它们都应该在同一个Flutter 颤振提供者最佳实践,flutter,provider,Flutter,Provider,我一直在试验提供者软件包,通常能够让它做我想要它做的事情。然而,在某些情况下,我不确定我所做的是否是最佳实践 例如,假设我有一个设置页面,其中包含各种不相关的选项——比如主题选项、通知选项、一些特定于应用程序的过滤选项等等 我的问题是,这些选项中的每一个是否都应该有自己的专用于单个值的类,以便只重建依赖于该单个值的小部件树的部分。或者它们都应该在同一个设置Provider类中,并且有某种方法可以单独使用此类中的字段,以避免过度重建 还是我完全忽略了大局?任何帮助都很好,谢谢 我找到的解决方案是将
设置Provider
类中,并且有某种方法可以单独使用此类中的字段,以避免过度重建
还是我完全忽略了大局?任何帮助都很好,谢谢 我找到的解决方案是将所有值放在一个类中,例如
设置Provider
。然后,不使用<代码>提供者或<代码>消费者
使用选择器
。例如,要获取/设置设置的通知选项,可以使用选择器包装小部件,如下所示-
Selector<SettingsProvider, bool>(
builder: (context, notifications, child) {
(notifications)
? return Text('Notifications are on')
: return Text('Notifications are off')
},
selector: (context , settingsPro) => settingsPro.notifications,
),
选择器(
生成器:(上下文、通知、子对象){
(通知)
?返回文本('通知开启')
:返回文本('通知已关闭')
},
选择器:(上下文,settingsPro)=>settingsPro.notifications,
),
这将显示通知是否打开,并且仅在通知选项更改时重新生成
如果有更好的解决方案,请告诉我