Olá pessoal!
Na aula o Alex demonstrou sobre a importância de criar o HomeScreenUiState na MainActivity pelo fato de podermos ter o estado salvo quando houver a recomposição. Mas fiquei com uma dúvida e queria entender de forma mais técnica. Não entra na minha mente o por que de ter que criar esse estado. Sem ele realmente o estado não se mantem, isso é visível na aula. Mas vamos supor que não criei uma instância la na MainActivity, ai a HomeScreen vai criar a instância default para HomeScreenUiState que está presente no construtor
@Composable
fun HomeScreen(
sections: Map<String, List<Product>>,
state: HomeScreenUiState = HomeScreenUiState()
) {
....
}
Quando houvesse a recomposição não era para manter a instância default criada anteriormente? Por que isso não ocorre no compose?
Obs: Eu fiz um debug aqui no ponto que ele cria a HomeScreen na MainActivity e verifiquei que não é criado uma nova instância de HomeScreen quando tem a recomposição, por isso fiquei com essa dúvida, se não há criação de nova instância de HomeScreen, não era para estar criando uma instância nova de HomeScreenUiState