【问题标题】:Flutter How to Use Provider with get_it packageFlutter 如何使用 Provider 和 get_it 包
【发布时间】:2020-10-16 07:17:24
【问题描述】:

我们如何用 get_it 注册 Providers 类,这样我们只需用 get_it 注册一次 Provider 就可以在任何地方使用?假设我们有 AuthProvider 并且我们像这样注册它,

MultiProvider(
          providers: [
            ChangeNotifierProvider<ProductDataProvider>(
                create: (_) => AuthProvider()),
            ChangeNotifierProvider<AuthenticationProvider>(
                create: (_) => AuthenticationProvider()),
          ],
          child: Container())

所以我想做的是用 get_it 注册一个 AuthProvider 提供程序,并用 get_it 注册方法包装 MaterialApp,这样我就可以在应用程序类的任何地方使用所有这些提供程序。

【问题讨论】:

    标签: flutter dart provider


    【解决方案1】:

    Provider 是一个小部件,因此它必须在您的小部件树中。

    但我认为您是在问是否可以在没有上下文且在小部件树之外访问所提供的数据。

    我会考虑创建一个包含关键数据的类。

    数据类将作为工厂实现。

    然后将数据类包装在提供程序中。

    鉴于数据类是工厂,您实际上并不需要 getit。

    【讨论】:

      猜你喜欢
      • 2020-02-08
      • 2021-02-05
      • 1970-01-01
      • 1970-01-01
      • 2020-08-19
      • 1970-01-01
      • 2020-10-27
      • 2021-05-06
      • 2020-10-14
      相关资源
      最近更新 更多