[英]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.