Junior — Middle
¿Puedes explicar qué es la clase InheritedWidget en Flutter y cómo se usa?
sobes.tech AI
Respuesta de la IA
InheritedWidget en Flutter es una clase base para widgets que pueden transmitir datos a sus descendientes en el árbol de widgets. Permite compartir de manera eficiente el estado o la configuración con widgets hijos sin necesidad de pasar explícitamente los datos a través de constructores.
Cómo funciona:
InheritedWidgetalmacena datos que pueden ser necesarios para los descendientes.- Los descendientes pueden acceder a estos datos mediante el método
of(context). - Cuando los datos en
InheritedWidgetcambian, Flutter vuelve a dibujar automáticamente los widgets que dependen de estos datos.
Ejemplo de uso:
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;
}
}
De esta manera, InheritedWidget sirve como base para construir sistemas reactivos y eficientes de gestión de estado en Flutter.