Junior — Middle
Оё метавонед шарҳ диҳед, ки класи InheritedWidget дар Flutter чӣ аст ва чӣ гуна истифода мешавад?
sobes.tech AI
Ҷавоб аз AI
InheritedWidget дар Flutter — ин синфи асосӣ барои 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 хизмат мекунад.