繁体   English   中英

通过 Flutter 了解多供应商

[英]Understanding Multiprovider with Flutter

我正在寻找如何在 flutter 上获得多个 stream 提供商。我所拥有的是这个

 Future main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp();
  SystemChrome.setPreferredOrientations(
      [DeviceOrientation.portraitUp, DeviceOrientation.portraitDown]);
  runApp(const GroupVestmentApp());
}

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

  @override
  Widget build(BuildContext context) {
    return StreamProvider<UserInfo?>.value(
      value: AuthService().userinfo,
      initialData: null,
      child: MaterialApp(
        home: SplashScreen(),

      ),
    );
  }
}

我想要的是像

Future main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp();
  SystemChrome.setPreferredOrientations(
      [DeviceOrientation.portraitUp, DeviceOrientation.portraitDown]);
  runApp(const GroupVestmentApp());
}

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

  @override
  Widget build(BuildContext context) {
return MultiProvider([
    child:StreamProvider<UserInfo?>.value(
      value: AuthService().userinfo,
      initialData: null,
      child: MaterialApp(
        home: SplashScreen(),

      ),
child:StreamProvider<NewInfo?>.value(
      value: AuthService().Newinfo,
      initialData: null,
      child: MaterialApp(
        home: SplashScreen(),

      )],
    );
  }
}

基本上我想要两个不同的 stream 供应商。 一个用于特定的一组用户,另一个用于另一组用户。 其中每一个都指向不同的注册方法。 有人知道如何让它工作吗? 提前致谢

MultiProvider只是一种注入多个提供者的方法。

MultiProvider(
  providers: [
    Provider<Something>(create: (_) => Something()),
    Provider<SomethingElse>(create: (_) => SomethingElse()),
    Provider<AnotherThing>(create: (_) => AnotherThing()),
  ],
  child: MyWidget(),
)

MyWidget中根据需求选择需要的那个。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM