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.
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. ”
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.
Feu gratuit introduit de nouveaux personnages avec une compétence distincte après chaque mise à jour…
Dans une étrange tournure des événements qui semblerait insensée à quiconque vivait il y a…
Google déploie aujourd'hui la mise à jour très attendue qui permettra aux utilisateurs de…
Pour célébrer le lancement de Gran Turismo 7, nous nous sommes associés à des…
Une vue de la Space Needle depuis l'immeuble de bureaux d'Apple à Seattle au…
Tundra Tracker, une rondelle de suivi SteamVR née d'un Kickstarter réussi l'année dernière, a…