NgRx Signal Store : les hooks onInit et onDestroy
10 août 2026
inject() marche dans onInit et plante dans onDestroy. Le mécanisme derrière cette asymétrie, les deux formes de withHooks, et quand le hook tourne vraiment.
39 articles du blog EasyAngularKit sur Signals.
10 août 2026
inject() marche dans onInit et plante dans onDestroy. Le mécanisme derrière cette asymétrie, les deux formes de withHooks, et quand le hook tourne vraiment.
7 août 2026
Remplacer un effect() qui touche au DOM par afterRenderEffect() : les phases earlyRead, write, mixedReadWrite et read, et les pièges de timing.
7 août 2026
Pourquoi disabled="false" désactive quand même ton bouton, et comment brancher booleanAttribute et numberAttribute sur tes signal inputs Angular.
30 juillet 2026
Angular 22.1 ajoute l'option set à linkedSignal : l'écriture remonte à la source au lieu d'être perdue au recalcul. Plus le reste du changelog 22.1.
29 juillet 2026
Ton utilisateur revient sur la liste et perd filtres, scroll et data. Les 3 stratégies pour préserver le state, dans l'ordre où tu devrais les essayer.
27 juillet 2026
Tu exposes ton state en readonly typé Signal<T> et ça a l'air propre. Un cast d'une ligne rouvre .set(). Ce que asReadonly() verrouille vraiment.
26 juillet 2026
Ton computed() qui trie réécrit sa propre source, et rien dans le type ne l'en empêche. readonly, as const, et pourquoi DeepReadonly casse sur une Date.
26 juillet 2026
Ton type d'état a quatre champs optionnels, donc seize combinaisons dont la plupart n'ont aucun sens. Union discriminée : narrowing et 4 pièges du discriminant.
24 juillet 2026
Avec les signals partout, markForCheck() ressemble à un fossile. Presque : les 4 patterns où tu peux le supprimer, et le cas où il reste obligatoire.
22 juillet 2026
Tu passes ta propriété en signal, ton @HostBinding reste figé, sans erreur ni warning. Le silent bug, le workaround par getter, et la forme host: {}.
22 juillet 2026
Tu empiles les @switch pour un dashboard dont la composition dépend de la donnée. ngComponentOutlet rend le bon composant, avec ses inputs et son injector.
20 juillet 2026
Migrer EventEmitter vers output() casse tes pipes RxJS : les 5 pièges de outputFromObservable et outputToObservable, et ce qu'il faut changer à la source.
17 juillet 2026
Tu appelles set() avec un nouvel objet, ton composant ne bouge pas. Ou pire : tu appelles set() avec la même valeur, et Angular re-render quand même. La fonction equal des signals est piégeuse dès que tu quittes les primitives. Tour des 5 pièges qui sabotent tes re-renders et les patterns pour reprendre la main sans casser les perfs.
13 juillet 2026
Ton composant affiche le mauvais utilisateur quand tu cliques vite. Les 4 pièges qui laissent passer une race condition malgré resource() et son abortSignal.
6 juillet 2026
Ton <ng-content> casse le layout dès que le slot est vide, et l'ordre des select te joue des tours. 6 patterns de projection, tous vérifiés en test.
29 juin 2026
Les 4 patterns pour remplacer un BehaviorSubject par signal() et computed() dans tes services Angular, et les 2 cas où RxJS reste le bon choix.
24 juin 2026
Tu mélanges signals et RxJS, et ton state clignote ou renvoie undefined. Les 6 pièges d'interop de toSignal() et toObservable(), et comment les désamorcer.
20 juin 2026
NG0100 ExpressionChangedAfterItHasBeenCheckedError : pourquoi cette erreur Angular surgit en dev, ce qui change en zoneless (v21) et comment la corriger.
12 juin 2026
Le track de @for décide si Angular réutilise tes lignes ou les recrée : 5 erreurs, de $index aux clés dupliquées, et le correctif de chacune.
5 juin 2026
@let déclare une variable dans le template, stable en Angular 19. 5 patterns pour supprimer tes computed() de présentation, et 4 pièges.
3 juin 2026
Ce qui change en Angular 22 : OnPush par défaut, Signal Forms stables, FetchBackend par défaut, @Service et injectAsync, compilateur strict et APIs supprimées.
22 mai 2026
Tu écris encore input() + output() + emit() pour un simple [(banana)] ? model() supprime 60 % de ce boilerplate. Forme required, alias, et les 5 pièges.
20 mai 2026
Quand utiliser afterNextRender() et afterEveryRender() au lieu de ngAfterViewInit ou setTimeout(0) : phases DOM, SSR, zoneless et différence avec effect().
13 mai 2026
Angular 19 remplace ControlValueAccessor par FormValueControl : zéro provider, zéro callback, un simple model(). Guide de migration avant/après.
13 mai 2026
Quand remplacer un effect() de synchronisation par linkedSignal(), stable depuis Angular 20 : forme courte, forme longue avec previous, sélection et pagination.
9 mai 2026
Remplacer le trio Subject + takeUntil + ngOnDestroy par takeUntilDestroyed() : contexte d'injection, erreur NG0203, DestroyRef dans un service, toSignal().
4 mai 2026
Quand remplacer effect() par computed(), pourquoi untracked() cache un mauvais découpage, comment détruire un effect dans un service et son vrai timing.
24 avril 2026
viewChild(), viewChildren() et contentChild() remplacent @ViewChild depuis Angular 17 : refs réactives, migration pas à pas et code DOM SSR-safe.
8 avril 2026
Les APIs Signals d'Angular 17 à 21 en fiche mémo : signal, computed, effect, input, output, model, linkedSignal, resource, httpResource et interop RxJS.
10 mars 2026
Ce que le template Angular a gagné de la v17 à la v21.2 : control flow, @let, template literals, et le schematic qui migre l'ancien control flow.
4 février 2026
Quand mettre httpResource dans un composant, dans un service, ou lui préférer HttpClient et un repository : trois niveaux selon la complexité réelle.
27 novembre 2025
Modernise tes tests Angular avec inputBinding et outputBinding : moins de fixture.detectChanges(), plus de signaux et des specs plus déclaratives.
27 octobre 2025
Quand utiliser input(), @Attribute() ou InjectionToken dans tes composants : données réactives, valeurs statiques, config globale et pattern hybride.
25 octobre 2025
Du double subscribe à httpResource : 5 façons de charger tes données Angular avec switchMap et rxResource, et le réglage qui évite les requêtes parasites.
22 septembre 2025
Chaque principe SOLID illustré en Angular moderne (Signals, control flow, InjectionToken) avec '❌ mauvaise façon' vs '✅ bonne façon' pour guider ta refacto.
25 juin 2025
Fiche mémo Angular : Subject et BehaviorSubject, opérateurs RxJS de transformation et de filtrage, signal, computed, effect, interop et API resource.
6 juin 2025
Un retour d'expérience concret sur l'utilisation du Signal Store de NgRx dans une reproduction simplifiée d'EasyAngularKit.
27 mai 2025
withComponentInputBinding injecte params, queryParams et data de route dans les input() d’un composant. Le piège des valeurs par défaut écrasées.
25 janvier 2025
Angular 21 active le zoneless par défaut. Les 4 phases de migration - OnPush, signals, provideZonelessChangeDetection, retrait de Zone.js - et les pièges.
Suite d'outils pour développeurs Angular francophones. Apprends, modernise tes réflexes, audite ta codebase.
© 2026 AngularKit. Tous droits réservés.