패키지, 저장소 및 앱 카테고리 검색

패키지 상세v0.0.2

multi_value_listenable_builder

단일 위젯을 사용하여 여러 ValueListenables를 듣는 것을 허용하는 플러터 패키지입니다.

AndroidiOSWebmacOSWindowsLinux
30일 다운로드
4.8천
좋아요
34
Pub 점수
160

패키지 설치

flutter pub add multi_value_listenable_builder

패키지 개요

공개 정보를 바탕으로 생성한 선택 가이드입니다.

단일 위젯을 통해 여러 ValueListenables를 듣는 것을 가능하게 하는 플러터 패키지로, 복잡한 UI에서 상태 관리를 간소화합니다. 개발자가 여러 ValueListenables를 하나의 리스너로 결합할 수 있게 해주어 봐야 할 코드를 줄이고, 어떤 값이 변경될 때마다 재구성되도록 합니다. 여러 데이터 소스가 단일 위젯의 모양이나 동작에 영향을 미치는 경우에 이상적입니다. 이 패키지는 가볍고 기존 플러터 상태 관리 패턴과 원활하게 통합됩니다.

사용 사례

  • 여러 폼 필드를 듣는다
  • 여러 상태 변수를 기반으로 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.

카테고리

소스 저장소

이 패키지를 사용하는 프로젝트