Junior — Middle
Pode explicar o que é a classe InheritedWidget no Flutter e como ela é usada?
sobes.tech IA
Resposta da IA
InheritedWidget no Flutter é uma classe base para widgets que podem transmitir dados aos seus descendentes na árvore de widgets. Permite partilhar de forma eficiente o estado ou configuração com widgets filhos sem necessidade de passar explicitamente os dados através dos construtores.
Como funciona:
InheritedWidgetarmazena dados que podem ser necessários para os descendentes.- Os descendentes podem aceder a esses dados através do método
of(context). - Quando os dados em
InheritedWidgetmudam, o Flutter redesenha automaticamente os widgets que dependem desses dados.
Exemplo 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;
}
}
Assim, InheritedWidget serve como base para construir sistemas reativos e eficientes de gestão de estado no Flutter.