使用 get_it 时颤动 bloc 处理
Posted
技术标签:
【中文标题】使用 get_it 时颤动 bloc 处理【英文标题】:flutter bloc dispose while using get_it 【发布时间】:2021-01-27 00:50:38 【问题描述】:我有一个问题,我们是否需要在 get_it 包中创建一个 bloc 时对其进行处理?例如,我有一个名为 LoginBloc 的块。我创建它的方式如下:
final GetIt sl = GetIt.instance;
sl.registerFactory(() => LoginBloc(sl(), sl()));
我提供如下:
BlocProvider(
child: LogInPage(),
create: (BuildContext context)
return sl<LoginBloc>();
我的问题是,bloc 提供程序是否在页面被处置或不需要时处置 bloc,或者我必须手动处置它,因为我使用 get_it 包来创建它? 谢谢大家
【问题讨论】:
【参考方案1】:BlocProvider 与 create 一起使用时会自动处理 bloc 的关闭。
您可以查看官方文档了解更多信息。 https://pub.dev/documentation/flutter_bloc/latest/flutter_bloc/BlocProvider-class.html
当您通过sl.registerFactory
注册某些东西时,GetIt 会在您每次访问它时创建一个新实例。
【讨论】:
以上是关于使用 get_it 时颤动 bloc 处理的主要内容,如果未能解决你的问题,请参考以下文章