2
respostas

Um código um pouco diferente!!!

Fala galera, olhando o codigo que o professor sugere no video eu fiz de uma forma um pouco diferente, apenas como sugestão vou mencionar abaixo para ampliar nossos debates e conhecimento.

O compose FormularioContatoNavigation já possui um state sendo coletado conforme abaixo:

            val state by viewModel.uiState.collectAsState()

Então eu já tenho um objeto que tem a capacidade de compreender quando está sendo alterado ou não.

Então no meu composable FormularioContatoTela eu apenas indico na ViewModel que eu gostaria de salvar conforme o metodo criado, não faço nenhuma passagem de parametro apenas realizo simplesmente a intenção de salvar.

            FormularioContatoTela(
                state = state,
                onClickSalvar = {
                    viewModel.salvar()
                    navController.popBackStack()
                },
                onCarregarImagem = {
                    viewModel.carregaImagem(it)
                }
            )

Então dentro da ViewModel eu uso o meu uiState que ja foi alterado ...

    fun salvar(){
        with(_uiState.value) {
            viewModelScope.launch {
                contatoDao.insere(
                    Contato(
                        id = id,
                        nome = nome,
                        sobrenome = sobrenome,
                        telefone = telefone,
                        fotoPerfil = fotoPerfil,
                        aniversario = aniversario,
                    ),
                )
            }
        }
    }

Essa é uma estrategia parecida com o prof Alex Felipe demonstrou em um dos cursos de Composable da formação.

2 respostas

Fala Pablo, de boa ?

Cara sua estrategia está bem legal, acredito que o instrutor tentou seguir com uma abordagem mais didatica, que pode ser que altere em algum momento futuro dentro do curso ou em outro curso de compose, mas não vejo problemas nessa abordagem

Fala Matheus beleza ?, eu concordo com você 100%, a intenção foi apenas demonstrar algo um pouco diferente (sem criticas a aula ou ao professor). Eu tenho o costume de sempre olhar no forum para ver se tem alguém com um ponto de vista diferente para ampliar o meu conhecimento.

Um abraço !