我应该在哪里在flutter_bloc中初始化块

时间:2020-10-14 16:04:20

标签: flutter dart flutter-bloc

我正在使用Flutter_bloc包在flutter中处理bloc模式,但我想知道在主函数中使用MultiBlocProvider并在其中添加所有bloc的做法是否是一种好习惯:

  void main()async{
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp();
  runApp(Mafqood());
}

class Mafqood extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
       return MultiBlocProvider(
         providers : [
           BlocProvider<AuthBloc>(
           create:  (context) => AuthBloc(AuthInitialState(), AuthRepository()),
          ),

           BlocProvider<LoginBloc>(
             create: (context) => LoginBloc(LoginInitialState(), AuthRepository()),
           ),

           BlocProvider<ProfileBloc>(
             create:  (context) => ProfileBloc(ProfileInitialState(), AuthRepository()),
           ),

         ],
         child: MaterialApp(

还是最好在我需要的位置添加集团?为什么呢? 预先感谢。

1 个答案:

答案 0 :(得分:0)

您应该像以前一样在主函数中使用MultiBlocProvider。这是最佳做法。这是提供者的目标。

编辑:

现在我意识到还有另一个答案here