Escriu per cercar…

Recomposició

L'única manera de modificar una Composició és mitjançant la recomposició.

Introducció

Quan Compose executa els teus componibles per primera vegada, durant la composició inicial, farà un seguiment dels componibles que cridem per descriure la teva UI en una Composició.

Després, quan l’estat de la teva aplicació canvia, Compose programa una recomposició.

La recomposició és quan Compose torna a executar els componibles que poden haver canviat en resposta als canvis d’estat, i després actualitza la Composició per reflectir qualsevol canvi.

Note

Una Composició només pot ser produïda per una composició inicial i actualitzada per recomposició. L’única manera de modificar una Composició és mitjançant la recomposició.

State

La recomposició normalment és provocada per un canvi en un objecte State<T>.

Compose fa un seguiment d’aquests i executa tots els componilbes de la Composició que llegeixen aquest State<T> en particular, i qualsevol composable que cridin que no es pugui ometre.

Note

Quan un composable necessita gestionar o interactuar amb recursos externs que tenen un cicle de vida més complex, has d’utilitzar un Efecte.

En aquest exemple, cada vegada que es fa clic al botó, es modifica la variable d’estat count i s’executa una recomposició.

kotlin
@Composable
fun Counter() {

    var count by remember { mutableStateOf(0) }

    Column(
        horizontalAlignment = Alignment.CenterHorizontally,
        modifier = Modifier.fillMaxSize()
    ) {
        Text(text = "Count: $count", fontSize = 24.sp)

        Button(onClick = { count++ }) {
            Text("Increment")
        }
    }
}

Les funcions componilbes poden utilitzar l’API remember per emmagatzemar un objecte en memòria. Un valor calculat per remember s’emmagatzema a la Composició durant la composició inicial, i el valor emmagatzemat es retorna durant la recomposició. remember es pot utilitzar per emmagatzemar tant objectes mutables com immutables.

Note

remember emmagatzema objectes a la Composició, i oblida l’objecte quan el composable que va cridar remember s’elimina de la Composició.

Estàs llegint una vista prèvia.

Inicia sessió per llegir l'article complet. Qualsevol compte obre 4 articles gratuïts al mes; l'alumnat i el professorat llegeixen les pàgines del seu curs sense límit.

Inicia sessió