【问题标题】:More than 6 providers for ProxyProvider, how?ProxyProvider 超过 6 个提供者,怎么办?
【发布时间】:2019-11-26 08:03:23
【问题描述】:

直到现在我在我的代码中使用单例模式,但我正在切换到 Remi Rousselet 的 Provider。我有一个业务逻辑类,目前依赖于其他 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();
}

【问题讨论】:

    标签: flutter dart provider


    【解决方案1】:

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

    ProxyProvider vs 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);
        ...
      }
    )
    

    【讨论】:

      猜你喜欢
      • 2011-03-18
      • 2021-12-07
      • 2022-06-30
      • 2016-12-21
      • 1970-01-01
      • 1970-01-01
      • 2021-12-06
      • 2011-09-24
      • 1970-01-01
      相关资源
      最近更新 更多