Pakete, Repositories und App-Kategorien suchen

Paketdetailsv1.0.0

nested

Ein Flutter-Widget, das hilft, mehrere Widgets zu verschachteln, ohne sie manuell verschachteln zu müssen.

AndroidiOSWebmacOSWindowsLinux
30-Tage-Downloads
5,2 Mio.
Likes
350
Pub-Punkte
150

Paket installieren

flutter pub add nested

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

Das verschachtelte Paket ist ein Flutter-Tool, das die Verschachtelung mehrerer Widgets vereinfacht, indem es eine saubere, deklarative Möglichkeit bietet, sie zu kombinieren, ohne manuell verschachtelte Widget-Strukturen schreiben zu müssen. Es verbessert die Lesbarkeit und Wartbarkeit bei komplexen UI-Layouts, indem Entwickler Widgets auf intuitivere Weise verkettet werden können. Ideal zur Reduzierung von Boilerplate im UI-Code, unterstützt es alle wichtigen Flutter-Plattformen, darunter Android, iOS, Web, macOS, Windows und Linux.

Anwendungsfälle

  • Komplexe Widget-Hierarchien vereinfachen
  • Reduzierung von verschachteltem Widget-Boilerplate
  • Verbesserung der Lesbarkeit des UI-Codes
  • Layout-Zusammensetzung vereinfachen
  • Wiederverwendbare Widget-Ketten erstellen
  • Verbesserung der Wartbarkeit großer Benutzeroberflächen

Hauptmerkmale

  • deklarative Widget-Nesting
  • Minimales Boilerplate
  • Kettenfähige Widget-Komposition
  • Plattformübergreifende Unterstützung
  • Klare, lesbare Syntax
  • Keine zusätzlichen Abhängigkeiten

Geeignet für

  • Entwickler, die sauberen UI-Code suchen
  • Projekte mit tief verschachtelten Widgets
  • Teams, die die Wartbarkeit des Codes priorisieren
  • UI-intensive Anwendungen
  • Flutter-Anfänger lernen Komposition
  • Erfahrene Entwickler optimieren Layoutmuster

Hinweise

  • Nur auf Widget-Komposition beschränkt
  • Kein Ersatz für erweiterte Layout-Widgets
  • Kann die Lernkurve für neue Benutzer erhöhen
  • Am besten in Kombination mit anderen Layout-Strategien verwendet
  • Ersetzt keine Zustandsverwaltung
  • Erfordert Verständnis der Widget-Baumstruktur von Flutter

Original-README

Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.

pub package ci

A widget that simplifies the syntax for deeply nested widget trees.

Motivation

Widgets tend to get pretty nested rapidly. It's not rare to see:

MyWidget(
  child: AnotherWidget(
    child: Again(
      child: AndAgain(
        child: Leaf(),
      )
    )
  )
)

That's not very ideal.

There's where nested propose a solution. Using nested, it is possible to flatten the previous tree into:

Nested(
  children: [
    MyWidget(),
    AnotherWidget(),
    Again(),
    AndAgain(),
  ],
  child: Leaf(),
),

That's a lot more readable!

Usage

Nested relies on a new kind of widget: SingleChildWidget, which has two concrete implementation:

These are SingleChildWidget variants of the original Stateless/StatefulWidget.

The difference between a widget and its single-child variant is that they have a custom build method that takes an extra parameter.

As such, a StatelessWidget would be:

class MyWidget extends StatelessWidget {
  MyWidget({Key key, this.child}): super(key: key);

  final Widget child;

  @override
  Widget build(BuildContext context) {
    return SomethingWidget(child: child);
  }
}

Whereas a SingleChildStatelessWidget would be:

class MyWidget extends SingleChildStatelessWidget {
  MyWidget({Key key, Widget child}): super(key: key, child: child);

  @override
  Widget buildWithChild(BuildContext context, Widget child) {
    return SomethingWidget(child: child);
  }
}

This allows our new MyWidget to be used both with:

MyWidget(
  child: AnotherWidget(),
)

and to be placed inside children of [Nested] like so:

Nested(
  children: [
    MyWidget(),
    ...
  ],
  child: AnotherWidget(),
)

Kategorien

Quell-Repository

Projekte, die dieses Paket verwenden