京东网站建设设计框架图,重庆seo排名方法,秦皇岛建设厅网站,自己的网络平台怎么做文章目录 概念介绍使用方法示例代码 我们在上一章回中介绍了通道相关的内容#xff0c;本章回中将介绍
StreamProvider组件.闲话休提#xff0c;让我们一起Talk Flutter吧。 概念介绍
在Flutter中Stream是经常使用的组件#xff0c;对该组件的监听可以StremBuilder#x… 文章目录 概念介绍使用方法示例代码 我们在上一章回中介绍了通道相关的内容本章回中将介绍
StreamProvider组件.闲话休提让我们一起Talk Flutter吧。 概念介绍
在Flutter中Stream是经常使用的组件对该组件的监听可以StremBuilder对该组件中数据的共享就是需要使用StremProvider。StreamProvider是一个类它不是Flutter SDK中自带的类而是由Provider包提供的类。本章回将介绍如何通过StreamProvider来共享Stream中的数据
使用方法
创建或者获取Stream对象在根目录下的provider属性中添加StreamProvider;在项目中通过Consumer获取StreamProvider中的数据
使用上面的方法时需要提前导入Provider包仔细看一下这个使用方法是不是有种似曾相识的感觉这种感觉是对的因为使用StreamProvider共享数据的方法和使用Provider共享数据的方法相同只是我们以前介绍的是ChangeNotifierProvider来共享数据。这两个类都是Provider包中的类只是它们使用的场景不同而已。我们重点介绍一下创建StreamProvider时使用的构造方法该方法中有两个必选参数详细如下
CreateStream? create: 该参数主要用来创建Stream对象T initialData: 该参数用设置Stream对象的初始值
在实际项目中我们可以自己创建Stream对象也可以直接使用其它程序创建Stream对象比如文件读写网络操作都会产生Stream对象。
示例代码
介绍完使用方法后我们通过具体的代码来演示如何使用StreamProvider管理数据 ///使用StreamProvider共享stream中的数据StreamProvider(create:(_) Stream.periodic(const Duration(seconds: 2),(event)(event1)).take(5),initialData: 9),///监听StreamProvider中的数据这个数据源在main文件中Consumerint(builder: (context,data,_){return Text(value: $data);}),///监听StreamProvider中的数据Consumerint(builder: (context,data,_){return Text(value: $data);}),上面代码中通过Stream的periodic()方法创建了Stream并将泛型指定为int,默认值为9.注意创建的StreamProvider需要放在MultiProvider中示例代码中没有列出来。
编译并且运行上面的程序就可以在终端打印出Stream中的共享的数据。我在这里就不演示程序的运行结果了建议大家自己动手去实践。
看官们与StremProvider相关的内容就介绍到这里欢迎大家在评论区交流与讨论!