前言
上一篇我们对 BLoC做了整体的介绍,了解了 BLoC 的使用后,心里不禁有点痒痒,写了好几个状态管理插件了,能不能利用 BLoC自己也撸一个 Flutter 状态管理组件,用来构建基于 BLoC 的响应式Flutter页面。说干就干,我们给这个状态管理组件命名为 SimpleBlocProvider
。
SimpleBlocProvider
定义
对于这个简单的状态管理组件 SimpleBlocProvider
,因为需要放置到组件树中,因此肯定是一个 Widget,由于内部还需要维护数据,因此我们使用 StatefulWidget
。等等!不是不推荐使用 StatefulWidget
吗?需要注意,如果这个组件自己维护自身状态,不影响外部组件那是没问题的。比如说,一个按钮点击后会有点击效果,这个其实也需要使用 StatefulWidget
实现,但是这个行为只会引起自身刷新,那是没问题的。