使用 flutter_bloc 包时何时实际手动关闭块?

Mik*_*chy 9 flutter flutter-bloc

我最近在 youtube ( https://www.youtube.com/watch?v=knMvKPKBzGE&t=3s ) 上观看了 felix Angelov 的 flutter_bloc 包 ( https://pub.dev/packages/flutter_bloc ) 演讲,非常棒!

我对在 dispose 方法中手动关闭块有一些困惑。我从演讲中听说,如果我们使用 flutter_bloc 包,我们就不必调用 bloc 的 dispose 方法,如果这是错误的,请纠正我。

提前致谢

Sim*_*Sot 13

BlocProvider当您与构建器一起使用时,构建器BlocProvider负责创建和关闭块。如果您想为新路线提供现有的块,您应该使用它,BlocProvider.value因为它不会自动关闭块。

你可以参考文档

在大多数情况下,BlocProvider 应该用于创建新的块,这些块将可供子树的其余部分使用。在这种情况下,由于 BlocProvider 负责创建块,因此它将自动处理关闭块。

在某些情况下,BlocProvider 可用于向小部件树的新部分提供现有块。当需要将现有块提供给新路线时,这将是最常用的。在这种情况下,BlocProvider 不会自动关闭块,因为它没有创建它。