【问题标题】:Using more than one provider in a flutter app在 Flutter 应用中使用多个提供程序
【发布时间】:2021-04-18 17:47:33
【问题描述】:

我已经开始使用 PROVIDER 来管理我的应用中的状态。我遵循教程并使用 ChangeNotifierProvider 包装了我的 Material 应用程序。 这是代码:

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return ChangeNotifierProvider(
      create: (BuildContext context) => ListsProvider(),
      child: MaterialApp(
        title: 'WordsApp',
        theme: ThemeData(
          primarySwatch: Colors.blue,
        ),
        initialRoute: StartingPage.id,
        routes: {
          StartingPage.id: (context) => StartingPage(),
         
          RegistrationScreen.id: (context) => RegistrationScreen(),
        
        },
      ),
    );
  }
}

这个名为“ListsProvider”的提供程序负责“提供”需要在不同屏幕上显示的列表。 我现在创建了第二个提供程序,我称之为“user_data_provider”,现在我也需要将它添加到我的应用程序中。它将负责向许多不同的屏幕提供用户数据。

我该怎么做?

【问题讨论】:

    标签: flutter dart provider


    【解决方案1】:

    要实现这一点,您可以使用Multiprovider,如下所示

    将此添加到应用的顶部。如果你到处都需要这些 obj。

    @override
      Widget build(BuildContext context) {
        return MultiProvider(
          providers: [
            ChangeNotifierProvider<user_data_provider>(
              create: (_) => user_data_provider(),
            ),
            ChangeNotifierProvider<ListsProvider>(
              create: (_) => ListsProvider(),
            ),
          ],
          child: Builder(
            builder: (BuildContext context) {
              
              return MaterialApp(
                //YOur code goes here
              );
            },
          ),
        );
    

    【讨论】:

    • 这是完美的 :) 非常感谢您的帮助!!
    猜你喜欢
    • 2020-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-17
    • 2021-03-04
    • 2020-08-14
    • 2019-10-10
    • 2020-05-08
    相关资源
    最近更新 更多