ProxyProvider 超过 6 个提供者,如何?

More than 6 providers for ProxyProvider, how?

直到现在我在我的代码中使用单例模式,但我正在切换到 Remi Rousselet 的 Provider。而且我有一个业务逻辑 class 目前取决于其他 7 个。 ProxyProvider 最多允许使用 6 个。在这种情况下我该如何实现 Provider 模式?

class BlocAuth {
  BlocAuth(this.serviceChatFirestore);
  ServiceChatFirestore serviceChatFirestore;
  var _state = AuthState();
  var blocUser = BlocUser();
  var user = UserModel();
  var blocRouting = BlocRouting();
  var blocBrands = BlocBrands();
  var blocNotifications = BlocNotifications();
}

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

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

例如:

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

严格等同于:

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

  },
)

所以你可以这样做:

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