Junior — Middle
Môžete vysvetliť, čo je trieda InheritedWidget vo Flutteri a ako sa používa?
sobes.tech AI
Odpoveď od AI
InheritedWidget v Flutter je základná trieda pre widgety, ktoré môžu prenášať údaje svojim potomkom v strome widgetov. Umožňuje efektívne zdieľanie stavu alebo konfigurácie s deťmi bez potreby explicitného odovzdávania údajov cez konštruktory.
Ako to funguje:
InheritedWidgetuchováva údaje, ktoré môžu byť potrebné pre potomkov.- Potomkovia môžu pristupovať k týmto údajom cez metódu
of(context). - Keď sa údaje v
InheritedWidgetzmenia, Flutter automaticky prekreslí tieto widgety, ktoré na nich závisia.
Príklad použitia:
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 spôsobom InheritedWidget slúži ako základ pre budovanie reaktívnych a efektívnych systémov správy stavu vo Flutteri.