Junior — Middle
Pouvez-vous expliquer ce qu'est la classe InheritedWidget dans Flutter et comment elle est utilisée?
sobes.tech IA
Réponse de l'IA
InheritedWidget dans Flutter est une classe de base pour les widgets qui peuvent transmettre des données à leurs descendants dans l'arbre des widgets. Il permet de partager efficacement l'état ou la configuration avec des widgets enfants sans avoir besoin de transmettre explicitement les données via les constructeurs.
Comment cela fonctionne :
InheritedWidgetstocke des données qui peuvent être nécessaires pour les descendants.- Les descendants peuvent accéder à ces données via la méthode
of(context). - Lorsque les données dans
InheritedWidgetchangent, Flutter redessine automatiquement les widgets qui en dépendent.
Exemple d'utilisation :
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;
}
}
Ainsi, InheritedWidget sert de base pour construire des systèmes réactifs et efficaces de gestion d'état dans Flutter.