Sobes.tech
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.