Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Sugestão] Sugestão: separação da lógica do contador com a tela

Estava com medo de meu código ficar muito confuso, então separei a lógica em outro arquivo.

Criei uma pasta controllers e dentro dela criei o arquivo counter_controller.dart:

class CounterController extends GetxController {
  CounterController({int initialValue = 0}) : _counter = initialValue.obs;

  RxInt _counter;

  RxInt get counter => _counter;

  void increment() => _counter++;

  void decrement() {
    if (_counter > 0) {
      _counter--;
    }
  }
}

Converti a tela para StatefulWidget e fiz a instancia "atrasada" do objeto: [...]

late CounterController counterController;

  @override
  void initState() {
    counterController = Get.put(
      CounterController(),
      tag: widget.item.nome,
    );

    super.initState();
  }

[...]

Depois, eu chamo as funções dessa classe na tela: [...]

// Botão de (-)
InkWell(
    borderRadius: BorderRadius.circular(20),
    onTap: () {
      counterController.decrement();
    },

[...]

 Obx(
    () => Text(
      counterController.counter.toString(),
    ),
    ),
    // Botão de (+)
    InkWell(
    borderRadius: BorderRadius.circular(20),
    onTap: () {
      counterController.increment();
    },

[...]

1 resposta
solução!

Olá, Cleiton, como vai?

Que ótimo ver sua iniciativa em compartilhar seu código e as reflexões sobre organização no fórum! É sempre enriquecedor quando alunos trazem suas abordagens para o espaço, incentivando o aprendizado coletivo.

Continue explorando e dividindo suas experiências por aqui. Tenho certeza de que suas contribuições são valiosas para toda a comunidade!

Siga firme nos seus estudos e conte com o fórum sempre que precisar!

Abraços :)