Profile picture of Armand PETITđŸ“±
Armand PETITđŸ“±
Expert React Native & Expo
Follow me
Generated by linktime
August 6, 2025
Il existe une alternative aux useState et aux stores  Il existe une 3e voie. DiscrĂšte, mais redoutable Tu construis une UI.   Tu ajoutes un bouton.   Tu gĂšres le loading avec un `useState`. Puis une erreur.   Encore un useState. Puis une redirection.   Un autre useState. Et tu te retrouves avec 5 flags boolĂ©ens.   Tous actifs ou dĂ©sactivĂ©s en mĂȘme temps.   Et parfois... dans un Ă©tat qui n’a aucun sens. Erreur affichĂ©e sans requĂȘte.   Loader bloquĂ© en plein succĂšs.   Composant qui re-render sans raison. C’est ça, un Ă©tat impossible.   Et il est quasiment invisible quand tu codes. Sauf qu’il casse ton UX.   Et qu’il te fait perdre un temps fou Ă  dĂ©bugger. Maintenant imagine ça :   → Tu dĂ©finis tous les Ă©tats possibles de ton composant   → Tu dĂ©clares ce qui peut arriver dans chaque Ă©tat   → Et tu bloques tous les cas impossibles dĂšs le dĂ©part C’est exactement ce que permet đ—«đ—Šđ˜đ—źđ˜đ—Č.   Une librairie pour crĂ©er des machines Ă  Ă©tats. ConcrĂštement, une machine Ă  Ă©tats, c’est simple : → Elle ne peut ĂȘtre que dans un seul Ă©tat Ă  la fois   → Elle passe Ă  un autre Ă©tat uniquement si un Ă©vĂ©nement prĂ©cis arrive   → Elle rend le comportement de ton app prĂ©visible Un composant peut ĂȘtre : - idle   - loading   - success   - error  Et tu dĂ©finis : → Que faire si on clique pendant le loading ?   → Que faire si une erreur arrive ?   → Que faire si on veut rĂ©essayer ? Pas de condition dans tous les sens.   Pas de combinaison de boolĂ©ens.   Juste un flux clair. Et XState va encore plus loin : → Sous-Ă©tats (ex : “playing” dans “fullscreen”)   → États parallĂšles (ex : lecteur en lecture + menu ouvert)   → Visualisation des transitions   → Tests simplifiĂ©s (car comportement dĂ©terministe)   → Et mĂȘme logique partageable entre front et back Tu ne codes plus Ă  l’aveugle.   Tu modĂ©lises ton produit. Et tu gagnes en clartĂ©.   En robustesse.   Et en sĂ©rĂ©nitĂ©. Ce n’est pas juste une autre librairie.   C’est une autre façon de penser l’état. Une façon plus claire.   Plus rigoureuse.   Et terriblement efficace.
Stay updated
Subscribe to receive my future LinkedIn posts in your mailbox.

By clicking "Subscribe", you agree to receive emails from linktime.co.
You can unsubscribe at any time.

24 Likes
August 6, 2025
Discussion about this post
Profile picture of Hugo Piat-Lillo
Hugo Piat-Lillo
Software Engineer | Data Scientist | CTO | @Le Petit Chat Noir
30 days ago
Merci beaucoup du partage, librairie Ă  garder Ă  l'esprit ! J'ai un pattern trĂšs rĂ©gulier qui consiste Ă  dĂ©finir un type "WorkflowStep" qui se rapproche du fonctionnement d'une machine Ă  Ă©tats donc je sens que ça va beaucoup me servir 😊
Profile picture of Yassine ENNADI,PMPÂź
Yassine ENNADI,PMPÂź
Data product owner & Chef de projet SĂ©nior📊 Freelance 📊| PMPÂź
1 month ago
Wow, c'est super intĂ©ressant cette idĂ©e de machines Ă  Ă©tats avec XState ! 🎉 C'est comme donner un plan clair Ă  un jeu pour que les personnages ne fassent pas n'importe quoi. 👍 J'imagine que ça aide vraiment Ă  Ă©viter les bugs bizarres et Ă  rendre les applications plus solides, un peu comme construire une maison avec des plans prĂ©cis pour qu'elle ne s'Ă©croule pas. Est-ce que tu penses que c'est facile Ă  apprendre pour quelqu'un qui dĂ©bute ?
Profile picture of Vincent R.
Vincent R.
Ingénieur Fullstack | Dev Agile | Scrum & PSM1, ISTQB
1 month ago
Pas Ă©vident les machines d’état des qu’il y a de l’UI mais c’est intĂ©ressant. A une Ă©poque sur du QT j’avais voulu tester et avce l’exemple feu tricolore ça pouvait passer et encore je trouvais ça moche mais dans la vrai vie c’est autre chose.
Expo vient de frapper un grand coup. Tu peux maintenant dĂ©ployer ton app mobile depuis un SAAS. Tu te souviens du temps oĂč shipper une app iOS nĂ©cessitait : - un Mac - Xcode - des certificats Apple - une config manuelle d’App Store Connect - un cafĂ© bien serrĂ© et quelques sueurs MĂȘme avec EAS, tu devais encore passer par la CLI. Autant dire que les PM, QA ou designers restaient sur la touche. Et que les devs perdaient du temps pour de simples builds de test. Evan Bacon vient de montrer quelque chose qui change la donne. Avec launch.expo.dev, tu peux : → coller l’URL GitHub de ton projet → cliquer sur “Launch” → laisser la plateforme crĂ©er ton app cĂŽtĂ© Apple, signer ton code, build, et soumettre sur TestFlight → recevoir l’invitation sur ton iPhone quelques minutes plus tard Le tout, sans ouvrir un terminal. Depuis un navigateur. Sur Windows, sur mobile
 ou mĂȘme sur une Nintendo Switch. Ce n’est pas juste un raccourci. C’est une nouvelle maniĂšre de shipper : - Aucun setup local requis - Aucune CLI Ă  apprendre - N’importe qui dans l’équipe peut dĂ©clencher une release - Une app testable en quelques minutes via TestFlight - Et une version web dĂ©ployĂ©e en bonus si tu veux Launch.expo.dev, c’est EAS pour les humains. C’est le dernier kilomĂštre, enfin automatisĂ©. Evan Bacon l’a dit simplement : “It has never been easier to build and submit an iOS app.” Difficile de dire le contraire. CrĂ©dit : Evan Bacon
105 comments
August 22, 2025