搜尋套件、儲存庫與 APP 分類

套件詳情v3.0.2

multiple_stream_builder

用於取代多個嵌套的 StreamBuilder 小部件的 Flutter 小部件

AndroidiOSWebmacOSWindowsLinux
近 30 天下載
3060
喜歡數
38
Pub 分數
160

安裝套件

flutter pub add multiple_stream_builder

套件介紹

根據套件公開資料產生的選型評估,僅供參考。

一個 Flutter 套件,透過將巢狀的 StreamBuilder 小工具取代為單一、乾淨的小工具,簡化處理多個串流的工作。它能有效且易讀地在單一建構內容中處理多個非同步資料來源,減少重複程式碼並提升效能。非常適合需要從多個串流同時更新的介面,例如即時儀表板或多重資料表單輸入。此套件支援所有主要平台,並能與現有的 Flutter 程式碼無縫整合。

適用情境

  • 即時儀表板,支援多種資料來源
  • 需要從多個流進行即時驗證的表單
  • 來自不同來源的併發狀態更新
  • 簡化版多流資料使用者介面邏輯
  • 減少複雜流式 UI 中的嵌套

主要特色

  • 單一 widget 用來管理多個串流
  • 消除嵌套 StreamBuilder 的複雜性
  • 高效重建,開銷極小
  • 支援所有 Flutter 平台
  • 流處理的乾淨、易讀語法

適合對象

  • 開發人員管理多個非同步資料來源
  • 尋求更乾淨的 UI 程式碼的團隊
  • 具有複雜即時資料需求的專案
  • 使用響應式模式的 Flutter 應用
  • 那些希望減少小部件樹深度的人

使用建議

  • 需要了解 Stream 和 StreamBuilder 的基本概念
  • 可能會稍微增加封裝大小
  • 適用於兩個或更多並行串流的情況
  • 不適合簡單的單流情境
  • 僅限基於串流的資料來源

原始 README

以下為關聯原始碼儲存庫的 README 原文快照,最新內容請造訪原始碼儲存庫。

multiple_stream_builder

Flutter widgets to replace multiple nested StreamBuilder widgets

Installing

To add use this package in your Flutter project add this to your pubspec.yml

dependencies:
  multiple_stream_builder: ^3.0.0

Usage example

var stream1 = Stream<int>.periodic(Duration(seconds: 1), (x) => x);
var stream2 = Stream<int>.periodic(Duration(seconds: 2), (x) => x);
var stream3 = Stream<int>.periodic(Duration(seconds: 3), (x) => x);

// Instead of writing out nested StreamBuilders
Widget build(BuildContext context) {
  return StreamBuilder<int>(
    stream: stream1,
    initialData: 0,
    builder: (context, snapshot1) {
      return StreamBuilder<int>(
        stream: stream2,
        initialData: 0,
        builder: (context, snapshot2) {
          return StreamBuilder<int>(
            stream: stream3,
            initialData: 0,
            builder: (context, snapshot3) {
              return Text(
                'stream1: ${snapshot1.data} - stream2: ${snapshot2.data} - stream3: ${snapshot3.data}',
              );
            },
          );
        },
      );
    },
  );
}

// Pass multiple streams into a single StreamBuilder
Widget build(BuildContext context) {
  return StreamBuilder3<int, int, int>(
    streams: StreamTuple3(stream1, stream2, stream3),
    initialData: InitialDataTuple3(0, 0, 0),
    builder: (context, snapshots) {
      return Text(
        'stream1: ${snapshots.snapshot1.data} - stream2: ${snapshots.snapshot2.data} - stream3: ${snapshots.snapshot3.data}',
      );
    },
  );
}

所屬分類

原始碼儲存庫

使用此套件的專案

暫無相關資料。