Sobes.tech
Junior — Middle

Können Sie erklären, was die Klasse InheritedWidget in Flutter ist und wie sie verwendet wird?

sobes.tech KI

Antwort von AI

InheritedWidget in Flutter ist eine Basisklasse für Widgets, die Daten an ihre Nachkommen im Widget-Baum weitergeben können. Es ermöglicht eine effiziente gemeinsame Nutzung des Zustands oder der Konfiguration mit Kind-Widgets, ohne Daten explizit über Konstruktoren zu übergeben.

So funktioniert es:

  • InheritedWidget speichert Daten, die für Nachkommen benötigt werden könnten.
  • Nachkommen können auf diese Daten über die Methode of(context) zugreifen.
  • Wenn sich die Daten in InheritedWidget ändern, zeichnet Flutter die abhängigen Widgets automatisch neu.

Beispiel für die Verwendung:

class MyInheritedWidget extends InheritedWidget {
  final int data;

  MyInheritedWidget({required this.data, required Widget child}) : super(child: child);

  static MyInheritedWidget? of(BuildContext context) {
    return context.dependOnInheritedWidgetOfExactType<MyInheritedWidget>();
  }

  @override
  bool updateShouldNotify(MyInheritedWidget oldWidget) {
    return data != oldWidget.data;
  }
}

Auf diese Weise dient InheritedWidget als Grundlage für den Aufbau reaktiver und effizienter Zustandsverwaltungssysteme in Flutter.