1
resposta

" E a responsabilidade do estado é entender se isso é válido ou não"?

Sobre o texto da opção D. Será que o termo 'entender' é o mais adequado? Não entendi como o estado pode entender a validade da senha. Acreditava que ele só armazenava a informação. O uso da palavra entender, pra mim, fez parecer que o estado seria responsável pela validação da senha.

1 resposta

Ótimo ponto Humberto!

Realmente termo entender não é o mais adequado, mas o que eu acho importante reforçar é que ele não apenas armazena informação, ele pode conter regras de UI e por isso digo que ele "entende" se um estado é válido. Pensa no código abaixo

data class CadastroUiState(
        val email: String = "",
        val senha: String = "",
        val confirmacaoSenha: String = "",
        val deveMostrarErroNaSenha: Boolean = senha != confirmacaoSenha
)

Veja nesse exemplo que, o deveMostrarErroNaSenha "entende" se deve ou não mostrar o erro na senha. Então ele não apenas guarda a informação mas também possui uma lógica relacionada a UI. Nem sempre você vai querer ter essa lógica no seu UiState por isso nós usamos os State Holders que além de guardar uma referência ao estado, também possuem essas regras!

Espero ter ajudado e bons estudos!