我应该在哪里在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(),BlocProvider<ProfileBloc>(
             create:  (context) => ProfileBloc(ProfileInitialState(),],child: MaterialApp(

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

解决方法

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

编辑:

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