ProxyProvider 的提供者超过 6 个,怎么办?

int*_*tor 2 provider dart flutter

到目前为止,我在代码中使用单例模式,但我正在切换到 Remi Rousselet\xe2\x80\x99s Provider。我有一个业务逻辑类,目前依赖于其他 7 个类。ProxyProvider 最多允许使用 6 个。在这种情况下如何实现 Provider 模式?

\n\n
class BlocAuth {\n  BlocAuth(this.serviceChatFirestore);\n  ServiceChatFirestore serviceChatFirestore;\n  var _state = AuthState();\n  var blocUser = BlocUser();\n  var user = UserModel();\n  var blocRouting = BlocRouting();\n  var blocBrands = BlocBrands();\n  var blocNotifications = BlocNotifications();\n}\n
Run Code Online (Sandbox Code Playgroud)\n

Rém*_*let 6

ProxyProvider 实际上并不固定任何数量的依赖项。

ProxyProvider 与 ProxyProvider6 只是一些语法糖。后者实际上并不需要

例如:

ProxyProvider3<A, B, C, Result>(
  builder: (_, a, b, c, previous) {
    ...
  }
)
Run Code Online (Sandbox Code Playgroud)

严格等同于:

ProxyProvider<A, Result>(
  builder: (context, a, previous) {
    final b = Provider.of<B>(context);
    final c = Provider.of<C>(context);
    ...

  },
)
Run Code Online (Sandbox Code Playgroud)

所以你可以这样做:

ProxyProvider6<A, B, C, D, E, F, Result>(
  builder: (context, a, b, c, d, e, f previous) {
    final g = Provider.of<G>(context);
    ...
  }
)
Run Code Online (Sandbox Code Playgroud)