kauemurakami / getx_pattern

Design pattern designed to standardize your projects with GetX on Flutter.
https://kauemurakami.github.io/getx_pattern
1k stars 235 forks source link

Erro ao voltar da view de detalhes #1

Closed Henqsan closed 4 years ago

Henqsan commented 4 years ago

Olá, estou estudando GetX e usei esse app como exemplo de estudos. Ao rodar o projeto e clicar em um item da lista é exibido a página de detalhes normalmente, mas ao voltar para a lista e clicar novamente em um item está ocorrendo o erro NoSuchMethodEerror: The getter 'post' was called on null. Receiver: null.

Na view de detalhes, a propriedade assignId está true. Para evitar o erro deve ficar: assignId: false. Não encontrei nada sobre isso na documentação. Apenas na documentação do Get menciona a Api assign, que tem a propriedade de limpar um List.

kauemurakami commented 4 years ago

Olá, nosso exemplo só vai até o list no momento, não está acabado, até domingo estarei tentando disponibilizar o exemplo completo, também tem pessoas enviando alguns projetos que vou postar na page. Estou dando um tempo para tirar dúvidas e já pensar em outras alterações no corpo do projeto. Você poderia resolver esse problema no momento enviando o post, da função, com Get.arguments para a tela details, já que esse objeto só vai ser usado para ser mostrado. O certo é fazer com controllers, mas até o momento só possuímos um. Lancei o Alpha pra ver a aceitação. Deixarei sua issue aberta pois amanhã vou resolver esse problema caso a minha sugestão não resolva.

kauemurakami commented 4 years ago

Boa tarde Henrique ! Fiz as alterações necessárias, minha proposta é reforçar ao máximo o uso dos controllers e passagem de objetos entre telas por eles. Portanto usei isso e irei dar um exemplo que irei incrementar no final de semana que mostram o objetivo dos repositories. Repare que você precisaria de um post caso utilizasse um dismissible na lista, para excluir e deletar um post. E também queira colocar um botão de adicionar, e um de editar apenas nos detalhes. É ai que o repository se mostra útil, em ambas as telas e seus respectivos controladores, temos o mesmo repository. Isso tira um pouco da responsabilidade dos nossos controladores de fazer as resicições diretas aos métodos http no controller. portanto com o mesmo repository , posso deletar, excluir adicionar, editar etc. Farei o upload do código exemplo neste exato momento e deixarei a issue aberta por mais algumas horas caso tenha alguma dúvida. A documentação será atualizada e incrementada no final de semana. Obrigado por contribuir !!! :)