Junior — Middle
Можете ли да објасните шта је класа InheritedWidget у Flutter-у и како се користи?
sobes.tech АИ
Одговор од АИ
InheritedWidget у Flutter је основна класа за widget-е који могу преносити податке својим потомцима у стаблу widget-а. Он омогућава ефикасно делење стања или конфигурације са дечијим widget-има без потребе за експлицитним преносом података кроз конструкторе.
Како ради:
InheritedWidgetчува податке који могу бити потребни потомцима.- Потомци могу приступити тим подацима преко методе
of(context). - Када се подаци у
InheritedWidgetпромене, Flutter аутоматски поново црта widget-е који зависе од њих.
Пример употребе:
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;
}
}
На овај начин, InheritedWidget служи као основа за изградњу реактивних и ефикасних система управљања стањем у Flutter-у.