Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 在颤振应用程序中使用多个提供商_Flutter_Dart_Provider - Fatal编程技术网

Flutter 在颤振应用程序中使用多个提供商

Flutter 在颤振应用程序中使用多个提供商,flutter,dart,provider,Flutter,Dart,Provider,我已经开始使用提供商来管理我的应用程序中的状态。我遵循教程,用ChangeNotifierProvider包装了我的Material应用程序。 代码如下: class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return ChangeNotifierProvider( create: (BuildContext context) => Lists

我已经开始使用提供商来管理我的应用程序中的状态。我遵循教程,用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”的提供程序负责“提供”需要在不同屏幕上显示的列表。 我现在已经创建了第二个提供者,我称之为“用户数据提供者”,现在我也需要将其添加到我的应用程序中。它将负责向许多不同的屏幕提供用户数据


我如何才能做到这一点?

要实现这一点,您可以使用
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
          );
        },
      ),
    );
@覆盖
小部件构建(构建上下文){
回程多供应商(
供应商:[
变更通知提供者(
创建:(\u)=>user\u data\u provider(),
),
变更通知提供者(
创建:()=>ListsProvider(),
),
],
孩子:建筑工人(
生成器:(BuildContext上下文){
返回材料PP(
//你的密码在这里
);
},
),
);
这太完美了:)非常感谢您的帮助!!