Hai*_*sen 3 state dart flutter bloc
我有这个有状态的小部件,它使用一个名为的块RecorderBloc:
class _RecorderScreenWidgetState extends State<RecorderScreenWidget> {
late final RecorderBloc _recorderBloc;
@override
void initState() {
super.initState();
_recorderBloc = serviceLocator.get<RecorderBloc>();
}
@override
void dispose() {
_recorderBloc.add(RecorderEvent.dispose());
super.dispose();
}
@override
Widget build(BuildContext context) {
//.....ommitted code
}
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,我需要在完成后处理该集团的一些成员,这是通过添加处理事件来完成的。
但我不知道将块定义为有状态小部件的成员变量是否是正确的方法?
如果没有,那么如何在添加处理事件dispose()的方法中获取块的实例?StatefulWidget
据我所知,不需要定义dispose事件。该类Bloc有一个函数,当提供者小部件 ( ) 状态被释放close时将调用该函数。BlocProvider您可以在 BLoC 内覆盖该函数并执行所需的操作。
class MyBloc extends Bloc<MyBlocState> {
@override
Future<void> close() {
// dispose
return super.close();
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4544 次 |
| 最近记录: |