初识flutter_bloc
初次接触flutter_bloc,网友们说很强大,就想学习一下,原理学不会,至少先学一下怎么使用。
了解flutter_bloc
经过简单的学习、了解,发现它并没有想象中那么复杂,但是却实现了
局部
刷新(或叫rebuild
)Widget的功能。
我们都知道,在flutter中通过一个简单的setState
方法就可以刷新整个页面,flutter_bloc
是如何做到局部刷新的呢?
flutter_bloc
的实现
粗浅的学习,看到了flutter_bloc
架构的强大。
发现几个妙处与大家分享:
先盗一张图,
- 从图中可以发现,
flutter_bloc
是利用Stream
实现的,利用sink
发送事件,对Stream
做了简单的封装,进行数据的监控与更新, - 我们在使用
flutter_bloc
的时候,为了让局部刷新,必须要用StatelessWidget
组件,否则,若使用StatefulWidget
的话,会导致整个页面重绘,因为它最终的刷新还是调用了setState
方法 - 它的
BlocBuilder
继承了StatefulWidget
,从而调用了setState
方法使BlocBuilder
重绘,实现了局部刷新
===== 感悟不多,仅供参考 =====