在 Flutter 中探索 StreamBuilder

本文深入探讨了Flutter中的StreamBuilder,它是用于根据Stream的快照构建小部件的工具。通过示例代码展示了如何创建和使用StreamBuilder,包括如何处理Stream的状态,如等待、活跃和完成。此外,文章还解释了如何设置初始数据并在Stream未完成时显示占位内容。
摘要由CSDN通过智能技术生成

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LnRUZ45G-1630491413971)(https://ducafecat.tech/2021/09/01/translation/exploring-streambuilder-in-flutter/2021-09-01-17-37-55.png)]

原文

https://medium.com/flutterdevs/exploring-streambuilder-in-flutter-5958381bca67

正文

异步交互可能需要一个理想的机会来进行总结。偶尔,在周期结束之前可能会发出一些值。在 Dart 中,您可以创建一个返回 Stream 的容量,该容量可以在异步进程处于活动状态时发射一些值。假设您需要根据一个 Stream 的快照在 Flutter 中构造一个小部件,那么有一个名为 StreamBuilder 的小部件。

在这个博客中,我们将探索 Flutter 中的 StreamBuilder。我们还将实现一个演示程序,并向您展示如何在您的 Flutter 应用程序中使用 StreamBuilder。

介绍:

StreamBuilder 可以监听公开的流,并返回小部件和捕获获得的流信息的快照。造溪者提出了两个论点。

A stream

构建器,它可以将流中的多个组件更改为小部件

Stream 像一条线。当您从一端输入值而从另一端输入侦听器时,侦听器将获得该值。一个流可以有多个侦听器,这些侦听器的负载可以获得流水线,流水线将获得等价值。如何在流上放置值是通过使用流控制器实现的。流构建器是一个小部件,它可以将用户定义的对象更改为流。

建造者:

要使用 StreamBuilder,需要调用下面的构造函数:

const StreamBuilder({
Key? key,
Stream<T>? stream,
T? initialData,
required AsyncWidgetBuilder<T> builder,
})

实际上,您需要创建一个 Stream 并将其作为流争用传递。然后,在这一点上,您需要传递一个 AsyncWidgetBuilder,该 AsyncWidgetBuilder 可用于构造依赖于 Stream 快照的小部件。

参数:

下面是 StreamBuilderare 的一些参数:

  • Key? key: 小部件的键,用于控制小部件如何被另一个小部件取代
  • Stream<T>? stream: 一个流,其快照可以通过生成器函数获得
  • T? initialData: 将利用这些数据制作初始快照
  • required AsyncWidgetBuilder<T> builder: 生成过程由此生成器使用

如何实现 dart 文件中的代码:

你需要分别在你的代码中实现它:

让我们创建一个流:

下面的函数返回一个每秒生成一个数字的 Stream。你需要使用 async * 关键字来创建一个流。若要发出值,可以使用 yield 关键字后跟要发出的值。

Stream<int> generateNumbers = (() async* {
  await Future<void>.delayed(D
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值