【问题标题】:When to actually close a bloc manually when using the flutter_bloc package?使用 flutter_bloc 包时,何时实际手动关闭 bloc?
【发布时间】:2021-06-25 06:31:02
【问题描述】:

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

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

提前致谢

【问题讨论】:

    标签: flutter flutter-bloc


    【解决方案1】:

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

    可以参考documentation

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-08
      • 1970-01-01
      • 2021-08-22
      • 2016-05-25
      • 2021-11-24
      • 2020-08-21
      • 2020-09-03
      • 2022-10-17
      相关资源
      最近更新 更多