Junior — Middle
Můžete vysvětlit, co je třída InheritedWidget ve Flutteru a jak se používá?
sobes.tech AI
Odpověď od AI
InheritedWidget ve Flutteru je základní třída pro widgety, které mohou předávat data svým potomkům v stromu widgetů. Umožňuje efektivně sdílet stav nebo konfiguraci s potomky bez nutnosti explicitně předávat data přes konstruktory.
Jak to funguje:
InheritedWidgetuchovává data, která mohou být potřebná potomkům.- Potomci mohou k těmto datům přistupovat přes metodu
of(context). - Když se data v
InheritedWidgetzmění, Flutter automaticky překreslí widgety, které na ně závisí.
Příklad použití:
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;
}
}
Tímto způsobem InheritedWidget slouží jako základ pro vytváření reaktivních a efektivních systémů správy stavu ve Flutteru.