Sobes.tech
Middle+

Como reduzir a quantidade de recomposições na aplicação, além de usar efeitos colaterais?

sobes.tech IA

Resposta da IA

Usar remember.

Aplicar tipos de dados estáveis (denotados por @Stable ou @Immutable).

Delegar cálculos:

// Evitar cálculos em cada recomposição
val myExpensiveValue by remember {
    derivedStateOf {
        calculateExpensiveValue()
    }
}

Usar lambdas que capturam o mínimo de variáveis:

// A lambda será recriada apenas se mudar o count
Button(onClick = { onCountChanged(count + 1) }) {
    Text("Incrementar")
}

Aplicar funções Composable com o menor número de parâmetros.

Usar Composable com @MovableContentOf se precisar mover uma subárvore do Compose sem sua recomposição.

Usar chaves compostas (key) para listas, se for necessário um mapeamento mais preciso dos elementos ao alterar.

Evitar chamar funções não estáveis dentro de um Composable.