Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

toString dentro do Stateless

Eu havia optado por não construir a classe Transferencia e fiz tudo direto dentro do Stateless ItemTransferencia:

class ItemTransferencia extends StatelessWidget {
  final double valor;
  final int numConta;

  const ItemTransferencia(this.valor, this.numConta);

  @override
  Widget build(BuildContext context) {
    return Card(
      child: ListTile(
        leading: Icon(Icons.monetization_on),
        title: Text(valor.toString()),
        subtitle: Text(numConta.toString()),
      ),
    );
  }
}

Porém, quando fui criar a variável transferenciaCriada no FormularioTransferencia não funcionou. Eu até consegui criar a variável chamando a classe ItemTransferencia .

              if (r_numconta != null && r_valor != null) {
                final transferenciaCriada = ItemTransferencia(r_valor, r_numconta);

Contudo não consegui aplicar o código toString dentro do Stateless ItemTRansferencia e portando meu debugPrint deu errado. Por que o toString não funciona dentro de um stateless? Não há uma forma de fazer o código da forma que eu queria (sem usar a classe Transferencia)?

Obrigada

2 respostas
solução!

Olá Livia, tudo bem com você?

O toString tem um sentido diferente quando utilizado em um StatelessWidget com mais o sentido de mostrar o elemento atual, e os seus filhos com o toStringDeep, e não prover os dados de nosso objeto :)

Em relação a sua dúvida de fazer sem utilizar classes, seria apenas passando tanto o numero da conta, quanto o valor como variáveis separadas, maaas tenho a impressão que ficamos sem um sentido lógico importante com essa abordagem, observe que com a sua abordagem a transferenciaCriada acaba sendo um widget ao invés de apenas um objeto transferência :)

Não sei o quanto você está acostumada com outras linguagens de programação, mas é muito comum no Flutter seguir os padrões famosos comomodels, controllers, services, pois dessa maneira conseguimos prover uma boa estrutura para a nossa aplicação.

E pensando nas próximas etapas do curso, acredito que fugir da classe Transferência irá apenas te atrapalhar, pois mais para frente teremos métodos especiais dentro dessa classe para fazer conversão de dados!

Abraços e Bons Estudos!

Oi Geovani! Obrigada pelo retorno, farei dessa forma. Realmente só tive contato com Sql e R ate hoje então ainda estou com dificuldade no Flutter. Obrigada