~3 min de lecture
🧪 Découverte du Signal Store de NgRx : ce que j’en pense après l’avoir testé dans EasyAngularKit
Introduction
Tu as peut-être entendu parler du nouveau Signal Store proposé par NgRx ? C’est une alternative au Store classique
basé sur les Observables, mais qui tire parti des Signals introduits récemment dans Angular. Je l’ai découvert il y
a peu… et franchement, il m’a fait revoir ma copie sur certaines parties de mon code, notamment dans EasyAngularKit.
Je te partage ici ce que j’ai appris en testant ce nouvel outil dans une reproduction simplifiée de mon app, et pourquoi je pense qu’il peut vraiment valoir le détour pour certaines architectures.
Pourquoi s’intéresser au Signal Store ?
Dans EasyAngularKit, tout tourne autour de modules et de leçons :
- Chaque navigation détermine le module et la leçon actifs
- On doit connaître le titre, la progression dans le module (1/9, 3/9, etc.)
- Ces infos doivent être accessibles de façon réactive dans l’UI, sans trop de friction
Jusqu’ici, je gérais tout ça avec un Store NgRx classique basé sur des Observable. Ça fonctionne… mais il y a des
moments où ça me semblait lourd et verbeux, surtout pour des cas simples de lecture de données.
Ce que change le Signal Store
Le Signal Store permet de :
- Créer des slices de store ultra-locales et lisibles
- Utiliser des Signals au lieu de
select(...) - Réduire la friction quand on veut simplement lire une donnée dans le composant
- Garder une API unifiée avec des
effects/actionssi besoin
Dans ma micro-reproduction, j’ai recréé une structure simplifiée de mes modules/leçons et testé la lecture de l’état dans les composants. Résultat : plus fluide, plus intuitif. J’ai pu réduire le code du composant de façon assez significative.
Est-ce que c’est fait pour toi ?
Voici quelques cas où je pense que le Signal Store brille :
- Tu as des composants qui doivent lire beaucoup de données de contexte (comme module/leçon actifs)
- Tu veux bénéficier des Signal-based reactivity sans te passer complètement de NgRx
- Tu veux une courbe d’apprentissage plus douce qu’un
Storefull-blown
Mais attention :
- C’est encore relativement récent, donc à manipuler avec prudence sur des apps critiques
- Il y a quelques patterns à revoir (notamment sur la composition d’état et la testabilité)
Conclusion
J’ai commencé cette exploration un peu par curiosité… et je repars avec une vraie envie de l’adopter dans certaines parties d’EasyAngularKit. Ce n’est pas forcément un remplacement total de NgRx, mais un excellent complément pour les besoins locaux ou de lecture simple.
🚀 Tu veux voir ce que ça donne en vidéo, avec code et démo ? La vidéo complète est dispo ici :
👉 Lien vers la vidéo
Et si tu veux apprendre Angular à fond, de façon structurée :
➡️ Découvre EasyAngularKit