Junior — Middle
Pode explicar o conceito de 'estado' na linguagem Dart e como ele é usado?
sobes.tech IA
Resposta da IA
No Dart, o conceito de "state" refere-se ao estado de um widget ou aplicação — são dados que podem mudar ao longo do tempo e influenciar a exibição da interface de utilizador.
No Flutter, existem dois tipos principais de widgets: StatelessWidget (sem estado) e StatefulWidget (com estado). O StatefulWidget armazena o estado num objeto State, que pode mudar e provocar a atualização do widget.
Por exemplo, um contador que aumenta ao pressionar um botão armazena o valor atual no estado:
class CounterWidget extends StatefulWidget {
@override
_CounterWidgetState createState() => _CounterWidgetState();
}
class _CounterWidgetState extends State<CounterWidget> {
int _count = 0;
void _increment() {
setState(() {
_count++;
});
}
@override
Widget build(BuildContext context) {
return Column(
children: [
Text('Count: \\$_count'),
ElevatedButton(onPressed: _increment, child: Text('Increment')),
],
);
}
}
Assim, "state" são os dados que determinam como o widget parece e se comporta, e quando eles mudam, a interface de utilizador é atualizada.