也许我不明白阻止或提供程序的目的,但我很困惑,为什么我们想要使用它们,而不是使用Ffltter的内置状态管理(使用Stateful
窗口小部件).我刚刚完成了一款应用程序,不记得有哪一次我希望自己需要的东西比默认设置更多.有人能帮我把事情说清楚吗?
也许我不明白阻止或提供程序的目的,但我很困惑,为什么我们想要使用它们,而不是使用Ffltter的内置状态管理(使用Stateful
窗口小部件).我刚刚完成了一款应用程序,不记得有哪一次我希望自己需要的东西比默认设置更多.有人能帮我把事情说清楚吗?
在某些情况下,您需要BLoC来使您更容易定义应用程序中发生的每个状态或条件.
我们将开始讨论创建类似https://www.tokopedia.com/的应用程序(判断元素并使用手机大小预览).您将看到,在微件部分tokopedia_ss之间有一些加载动画,当数据加载完成时,微件加载动画更改为可查看的微件(作为用户).
在bloc中,您将使stateLoding()、stateComplete(Data)、stateFailed(Data).在控制器或屏幕中,您可以描述当阻塞状态为STATE LOADING等时会发生什么.
用setstate创建这个用例比较复杂,会使您的代码变得杂乱无章,而且setState会让phone呈现所有的Build()代码.与BloC builder不同,您可以定义每个小部件或部分.
因此,当有10个部分时,使用Bloc可以使其渲染每个状态,但当使用标准setstate时,它将在每次状态更改时一次渲染所有10个部分.
有关BloC:article_about_BloC的更多信息