Junior — Middle
Explique o conceito de StatefulWidget no Flutter e em que difere de StatelessWidget?
sobes.tech IA
Resposta da IA
No Flutter, StatefulWidget é um widget que pode alterar seu estado durante a execução do aplicativo. Ele armazena seu estado em um objeto separado State, e quando esse estado muda, o método setState() é chamado, o que atualiza a interface.
Em contraste, StatelessWidget não possui estado interno e é sempre construído com base nos parâmetros passados a ele. Ele não muda após a criação.
Exemplo:
class CounterWidget extends StatefulWidget {
@override
_CounterWidgetState createState() => _CounterWidgetState();
}
class _CounterWidgetState extends State<CounterWidget> {
int _counter = 0;
void _increment() {
setState(() {
_counter++;
});
}
@override
Widget build(BuildContext context) {
return Column(
children: [
Text('Contador: \\$_counter'),
ElevatedButton(onPressed: _increment, child: Text('Incrementar')),
],
);
}
}
Aqui, CounterWidget é um StatefulWidget porque o valor do contador muda e afeta a UI. Se o estado não mudasse, poderia usar um StatelessWidget.