Flutter-BLoC

BLoC主要是为了解耦,将UI和具体业务分离,与Swft中的ViewModel类似。

1、BLoC使用的是Stream的方法,所以的方式都是异步,而ViewModel不必全部都是异步。

2、一般情况下,setState方法会导致整个Widget刷新。

存在StreamBuilder时,setState方法只会刷新StreamBuilder包裹的控件。

3、BlocProvider

方便快速绑定BLoC类和Widget

在Widget中,通过 BlocProvider.of<YourBloc>(context); 快速的获取指定的BLoC和次Widget的父和祖宗的Widget的BLoC对象,同样可以获取App创建时的BLoC对象。

获取到BLoC后,即可使用BLoC中的流功能了。

BlocProvider有点Android中的注入的感觉。


通过以上方法后,UI获取到只有真正需要显示的内容,具体的业务完全交给了BLoC去处理

参考:

1、Flutter-BLoC

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容