【问题标题】:Flutter using StreamingSharedPreferences in MultiProviderFlutter 在 MultiProvider 中使用 StreamingSharedPreferences
【发布时间】:2019-08-25 07:30:46
【问题描述】:

这对于使用ProviderStreamingSharedPreferences 来说很简单

Future<void> main() async {
  final preferences = await StreamingSharedPreferences.instance;
  final settings = MyAppSettings(preferences);

  runApp(
    Provider<MyAppSettings>.value(value: settings, child: MyApp()),
  );
}

因为我在应用程序中有另一个多个Provider,例如:

runApp(
  MultiProvider(providers: [
    Provider(builder: (_) => database.userTableDao),
    Provider(builder: (_) => database.postsTableDao),
    Provider(builder: (_) => database.postsTableDao),
    Provider(
      builder: (_) => ApiService.create(),
      dispose: (_, ApiService) => service.client.dispose(),
    )
  ], child: OKToast(child: MyHomePage())),
);

我不确定如何在其中制作StreamingSharedPreferences 提供者,例如:

MultiProvider(providers: [
  ...
  Provider<ApplicationSettings>.value(value: settings),
  ...
], child: OKToast(child: MyHomePage())),

【问题讨论】:

  • 抱歉,我们不能接受重复使用旧问题来绕过赏金发布时间限制。
  • 难怪,我想知道为什么一年前的这样一个问题没有得到任何答案

标签: flutter


【解决方案1】:

在这段代码中,我将StreamingSharedPreferences.instance 的实例用于main 函数,然后在MultiProvider 中添加,例如:

final settings = ApplicationSettings( await StreamingSharedPreferences.instance );

MultiProvider(providers: [
  ...
  Provider( builder: (_) => settings ),
  ...
], child: OKToast(child: MyHomePage())),

【讨论】:

  • @DenisV i 解释
猜你喜欢
  • 2021-03-27
  • 2022-01-25
  • 2020-09-21
  • 2020-06-21
  • 2020-07-14
  • 1970-01-01
  • 2020-06-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多