[英]Flutter Provider: Should I create a new Provider for every class?
可以說我有多個用戶可以設置的設置。 我是否應該有一個 Provider 來管理所有設置,如下所示:
class Settings with ChangeNotifier {
SettingsA _settingsA;
SettingsB _settingsB;
List<String> _settingsC;
SettingsA get settingsA => _settingsA;
SettingsB get settingsB => _settingsB;
List<String> get settingsC => _settingsC;
// Setters
void updateA(SettingsA settingsA) {
_settingsA = settingsA;
notifyListeners();
}
void updateB(SettingsB settingsB) {
_settingsB = settingsB;
notifyListeners();
}
void addToC(String setting) {
_settingsC.add(setting);
notifyListeners();
}
}
或者我應該像這樣為每個 object 創建一個提供者:
class SettingsAProvider with ChangeNotifier {
SettingsA _settingsA;
SettingsA get settingsA => _settingsA;
// Setters
void update(SettingsA settingsA) {
_settingsA = settingsA;
notifyListeners();
}
}
使用 ChangeNotifierProviders 的最佳實踐是什么?
在我看來,你應該使用SettingAProvider
, SettingBProvider
,......
如果您使用Settings
Class...
當您調用updateA
時,它會通知所有值 _settingA,_settingB,_settingC,... 即使是不必要的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.