flutter 图解_图解Flutter——BLoC的原理及使用

今天来介绍下Flutter中BLoC的原理及使用场景,有兴趣的建议先耐心看完文章,相信还是能收获一些东西的~ ^_^

介绍BLoC之前,先介绍几个相关的类及概念:

前提概述

Stream流种类

单订阅流:只能有一个订阅者

多订阅流:可以多个订阅者,订阅前的消息不会收到

单订阅->多订阅:stream.asBroadcastStream()

使用Stream来构造UI,具体参考文档中的视频。

StreamController的使用方式

下图是整个StreamController的工作方式

从sink.add传入值,对应输出stream流,可以做相应的流变换,然后对应监听此流的地方将接受到数据。

RxDart

用于通过使用可观察序列来编写异步和基于事件的程序,具体文档参考:

增强版StreamController:

PublishSubject: 普通广播的streamcontroll,可监听多次(默认异步)

BehaviorSubject: 缓存最新一次事件的广播流控制器

ReplaySubject : 缓存多个数据的广播流控制器,可以设定上限

每个xxSubject可以看成一个单元(后面备用):

Observable:可观察对象, 扩展Stream,组合了Streams和StreamTransformers(默认单一订阅)

你可能感兴趣的:(flutter,图解)