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:
InheritedWidgetspeichert 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.