簡體   English   中英

Flutter Provider:我應該為每個 class 創建一個新的 Provider 嗎?

[英]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 的最佳實踐是什么?

在我看來,你應該使用SettingAProviderSettingBProvider ,......

如果您使用Settings Class...

當您調用updateA時,它會通知所有值 _settingA,_settingB,_settingC,... 即使是不必要的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM