【问题标题】:Flutter Provider desde mainFlutter Provider 主要
【发布时间】:2022-08-12 02:53:34
【问题描述】:

我正在为我的应用程序开发登录名,并且我有一个提供程序来验证用户是否登录,以便将他重定向到相应的路由,问题是我想从主执行该提供程序以便它尽快加载,我要运行的提供程序就是这个。

Provider.of(context).listarUsuarios()

这是我的主要代码:

import \'package:amigo_almacen/pages/pages.dart\';
import \'package:flutter/material.dart\';
import \'package:provider/provider.dart\';
import \'Providers/DataProviders.dart\';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MultiProvider(
      providers: [
        ChangeNotifierProvider(create: (_) => ProductoProvider(), lazy: false),
        ChangeNotifierProvider(create: (_) => ReporteProvider(), lazy: false),
        ChangeNotifierProvider(create: (_) => GestUsuarios(), lazy: false),
        ChangeNotifierProvider(create: (_) => Getcomidas(), lazy: false),
        ChangeNotifierProvider(create: (_) => GetFormReportes(), lazy: false),
        ChangeNotifierProvider(create: (_) => GestRopa(), lazy: false),
        ChangeNotifierProvider(create: (_) => GetBebidas(), lazy: false),
        ChangeNotifierProvider(create: (_) => SessionUser(), lazy: false),
      ],
      child: MaterialApp(
        debugShowCheckedModeBanner: false,
        theme: ThemeData(primarySwatch: Colors.indigo),
        title: \'Amigo_Almacen\',
        initialRoute: LoginPage.routeName,
        routes: {
          //Fredy Nemesio Palomino Huamani
          LoginPage.routeName: (_) => const LoginPage(),
          RegistroPage.routeName: (_) => const RegistroPage(),
          RecuperarPage.routeName: (_) => const RecuperarPage(),
          Recuperar_pages2.routeName: (_) => const Recuperar_pages2(),
          PrincipalPage.routeName: (context) => const PrincipalPage(),
          OptionsForm.routeName: (_) => const OptionsForm(),
          SuccessPage.routeName: (context) => SuccessPage(\'\', \'\', \'\', \'\', \'\'),
          //Victor Vicente Palomino Torres
          ComidaPage.routeName: (_) => const ComidaPage(),
          //Valentino Gómez Aguirre
          BebidasPage.routeName: (_) => const BebidasPage(),
          //Axel David Chambilla Obregón
          RopaPage.routeName: (_) => const RopaPage(),
          //Anabel Huanca Moreano
          ReportesPage.routeName: (_) => const ReportesPage(),
        },
      ),
    );
  }
}

    标签: flutter dart provider


    【解决方案1】:

    您可以在家中使用 Consumer:只要使用经过身份验证,它就会更改主页,具体取决于您选择的内容,这里是一个示例:

    孩子:消费者( builder: (ctx, auth, _) => MaterialApp( debugShowCheckedModeBanner:假, 标题:“我的商店”, 主题:主题数据( colorScheme: ColorScheme.fromSwatch( primarySwatch:颜色.紫色, 口音颜色:Colors.deepOrange, ), 文本主题:常量文本主题( subtitle1:TextStyle(字体大小:20,颜色:Colors.black), subtitle2: TextStyle(fontSize: 20, color: Colors.white), 标题5: TextStyle(fontWeight: FontWeight.bold, fontSize: 20))), 主页:auth.isAuth ? ProductOverviewScreen() : 未来建造者( 未来:auth.tryAutoLogin(), 生成器:(ctx,快照)=> snapshot.connectionState == ConnectionState.waiting ?常量 SplashScreen() : AuthScreen()),

    【讨论】:

      猜你喜欢
      • 2020-11-29
      • 2021-05-31
      • 2020-11-06
      • 2020-12-30
      • 1970-01-01
      • 2019-12-09
      • 2021-06-07
      • 2020-09-18
      • 2021-02-01
      相关资源
      最近更新 更多