パッケージ、リポジトリ、アプリカテゴリを検索

パッケージ詳細v0.0.2

multi_value_listenable_builder

1つのウィジェットを使用して複数の ValueListenables をリッスンできるFlutterパッケージ。

AndroidiOSWebmacOSWindowsLinux
30日間ダウンロード
4800
いいね数
34
Pub ポイント
160

パッケージをインストール

flutter pub add multi_value_listenable_builder

パッケージ概要

公開情報に基づく選定ガイドです。参考としてご利用ください。

1つのウィジェットを通じて複数の ValueListenables をリッスンできるFlutterパッケージで、複雑なUIにおける状態管理を簡素化します。複数のValueListenablesを1つのリスナーに統合することで、ボイラープレートを削減し、いずれかのリッスン対象値が変更されたときに再描画をトリガーします。複数のデータソースが1つのウィジェットの外観や挙動に影響を与えるようなシナリオに最適です。このパッケージは軽量であり、既存のFlutter状態管理パターンとシームレスに統合されます。

用途

  • 複数のフォームフィールドをリッスンする
  • 複数の状態変数に基づいてUIを更新する
  • 複数のデータストリームとのUI同期
  • 複雑なフォーム検証の管理
  • UIツリー内のネストされたリスナーを減らす

主な機能

  • 複数の ValueListenables 用の単一ウィジェット
  • 値の変更時に自動的に再構築
  • 最小限のボイラープレート
  • 他のウィジェットと組み合わせ可能
  • 軽量で効率的

適している対象

  • 複雑なフォーム
  • 複数の依存関係を持つステートフルウィジェット
  • 同期更新を必要とするUI
  • ValueNotifier を使用する開発者
  • 重い状態管理フレームワークを避けるプロジェクト

注意事項

  • ValueListenable の理解が必要です
  • 過剰に使用すると、複雑さが増す可能性があります
  • 非常に大きな状態グラフには適していません
  • シンプルまたは中程度の状態の組み合わせと併用するのが最適です
  • ValueListenable タイプに限定

元の README

関連するソースリポジトリの README 原文のスナップショットです。最新の内容はリポジトリをご覧ください。

MultiValueListenableBuilder

A widget to listen to multiple ValueListenables in Flutter.

pub

Usage

  • Add the multi_value_listenable_builder as a dependency in your project.

  • Import package:multi_value_listenable_builder/multi_value_listenable_builder.dart in required files.

  • Use MultiValueListenableBuilder just like any other widget.

import 'package:multi_value_listenable_builder/multi_value_listenable_builder.dart';

MultiValueListenableBuilder(
    // Add all ValueListenables here.
    valueListenables: [
        listenable0,
        listenable1,
        listenable2,
        .
        .
        listenableN
    ],
    builder: (context, values, child) {
        // Get the updated value of each listenable
        // in values list.
        return YourWidget(
            values.elementAt(0),
            values.elementAt(1),
            values.elementAt(2),
            .
            .
            values.elementAt(N),
            child: child // Optional child.
        );
    },
    child: YourOptionalChildWidget(),
)

A detailed and working example can be found here.

カテゴリー

ソースリポジトリ

このパッケージを使用しているプロジェクト