Comment collecter des flux prenant en compte le cycle de vie dans Jetpack Compose
De manière optimale, nous aurions la possibilité d’utiliser les collectAsState()
fonction et collectent automatiquement les Flow
conscient du cycle de vie.
Essayons donc d’y parvenir.
3.1 La transformation Flux
La transformation du flux en un formulaire prenant en compte le cycle de vie est effectuée de la même manière pour chaque flux. Voici donc notre première approche du potentiel d’amélioration.
Examinez l’extrait de code suivant et comparez-le avec la transformation dans l’extrait de code illustré à la section 2.
Le reconnaissez-vous ? Nous prenons maintenant juste le Flow
nous voulons transformer, le passer directement comme key1 à la fonction de mémorisation et appliquer le flowWithLifecycle()
fonction à elle.
le Flow
collection peut maintenant être réduite à l’extrait de code suivant :
Très bien, nous pouvons maintenant simplement utiliser notre rememberFlow()
fonction avec le respectif Flow
comme paramètre d’entrée et collecter le produit Flow
et sont automatiquement conscients du cycle de vie.
Mais c’est toujours deux au lieu d’une ligne de code pour chaque Flow
collection. Essayons d’atteindre notre exigence optimale initiale
« Nous aurions la possibilité d’utiliser les
collectAsState()
fonction et collectent automatiquement lesFlow
conscient du cycle de vie. ”
3.1 La collection Flux
Tous Flow
collection aura besoin de l’étape pour utiliser notre nouvellement créé rememberFlow
une fonction. Alors peut-être pourrions-nous simplement le fusionner avec le collectAsState()
une fonction?
Considérez l’extrait de code suivant :
Si vous vous lancez dans la mise en œuvre de la collectAsState()
fonction d’extension, vous reconnaîtrez ce que nous avons fait ici.
Nous venons de répliquer et de mettre notre rememberFlow()
fonction devant avant de retourner le State
nous pouvons alors évaluer à l’aide de la by
délégué dans notre composable.
Jetez un œil à l’exemple suivant pour voir le résultat :
Nous l’avons fait!
Nous pouvons désormais collecter les Flow
conscient du cycle de vie avec une seule ligne de code.
Commentaires
Laisser un commentaire