正确的方法与颤振集团和状态初始化



我的应用程序中有多个flutter blocs/cubit,例如authentication_block、user_bloc、theme_block等。在每个bloc中,都有一个常见的初始化状态,例如AuthInitializingState、UserInitializingState或ThemeInitializingState。。。因此,在main.dart中,我必须检查每个初始化状态,以显示启动/加载屏幕。if authState is AuthInitializingState || userState is UserInitializing state || .....{//show splash/loading screen}我的问题是——有没有更好的方法来完成这项任务?

如果3个不同的区块的状态导致相同的状态,那么很可能您处理错误的状态。

AuthState应该是所有状态的父级,在大多数情况下,根据身份验证状态,UserStateThemeState会受到影响。我们通常应该做的是将AuthState作为全局状态,并且只有当AuthBloc发出SuccessState时,我们通常才会实例化UserBloc。这样,UserBloc从初始状态开始。

在您的情况下,我认为,如果Auth状态成功,最好将ThemeBlocAuthBloc作为全局块,将UserBloc作为子块。

希望它能有所帮助!

最新更新