# State management · Veille technologique

[Source canonique](<https://sebastien.rigaux.be/veille/tags/state-management>)

Organisation et synchronisation de l’état applicatif entre données et composants.

## [React : rendre les états d’interface explicites à l’ère des agents](<https://sebastien.rigaux.be/veille/liens/react-rendre-les-etats-dinterface-explicites-a-lere-des-agents>)

Quand un agent modifie une interface, vérifier un seul compte ne suffit pas à couvrir les rôles, les offres ou les options activées. Matt Rothenberg montre comment les valeurs dispersées dans les hooks, providers et layouts peuvent masquer des états oubliés — comme un bouton Delete visible pour un utilisateur en lecture seule.

En faisant de l’état d’affichage une entrée explicite des composants, les équipes peuvent rendre directement les combinaisons pertinentes, les tester ou les comparer dans une grille. Storybook et Playwright complètent cette démarche, mais ne choisissent pas les scénarios à couvrir : cette décision reste essentielle.

2026-10-27 · [Markdown](<https://sebastien.rigaux.be/veille/liens/react-rendre-les-etats-dinterface-explicites-a-lere-des-agents.md>) · [Ressource originale](<https://mattrothenberg.com/notes/pure-ui-agentic-era/>)

## [Mutative : des mises à jour immuables sans spread](<https://sebastien.rigaux.be/veille/liens/mutative-des-mises-a-jour-immuables-sans-spread>)

Mutative permet d’écrire des mutations sur un draft pour produire un nouvel état immuable, sans recopier manuellement chaque niveau avec la syntaxe spread. La bibliothèque prend aussi en charge les tableaux, `Set` et `Map`, ainsi que les patches et le gel optionnel.

Ses benchmarks annoncent une moyenne géométrique 3,6 fois plus rapide qu’Immer à réglages comparables, ou 6,6 fois avec les paramètres par défaut de chaque bibliothèque. Les mesures varient selon les workloads ; les reducers écrits à la main restent plus rapides dans la plupart des cas présentés.

2026-10-23 · [Markdown](<https://sebastien.rigaux.be/veille/liens/mutative-des-mises-a-jour-immuables-sans-spread.md>) · [Ressource originale](<https://mutative.js.org/>)

## [Nanostores : partager un état atomique entre frameworks front-end](<https://sebastien.rigaux.be/veille/liens/nanostores-partager-un-etat-atomique-entre-frameworks-front-end>)

Nanostores propose de petits magasins d’état composables pour React, Preact, Vue et Svelte. Sa conception atomique et arborescente favorise le découpage et l’élimination du code inutilisé.

2026-05-01 · [Markdown](<https://sebastien.rigaux.be/veille/liens/nanostores-partager-un-etat-atomique-entre-frameworks-front-end.md>) · [Ressource originale](<https://github.com/nanostores/nanostores>)

## [TinyBase : stocker, synchroniser et persister des données côté client](<https://sebastien.rigaux.be/veille/liens/tinybase-stocker-synchroniser-et-persister-des-donnees-cote-client>)

TinyBase est un magasin réactif en mémoire pour les applications JavaScript et TypeScript, avec persistance et synchronisation. Il fournit les briques nécessaires à une expérience local-first sans imposer une architecture de serveur unique.

2026-03-08 · [Markdown](<https://sebastien.rigaux.be/veille/liens/tinybase-stocker-synchroniser-et-persister-des-donnees-cote-client.md>) · [Ressource originale](<https://tinybase.org/>)

## [Clarifier les états React Query avec le pattern matching](<https://sebastien.rigaux.be/veille/liens/clarifier-les-etats-react-query-avec-le-pattern-matching>)

Gabriel Pichot organise les états loading, erreur, succès et résultat vide avec du pattern matching. L’approche réduit les branches dispersées dans les composants et améliore leur lisibilité.

2025-04-24 · [Markdown](<https://sebastien.rigaux.be/veille/liens/clarifier-les-etats-react-query-avec-le-pattern-matching.md>) · [Ressource originale](<https://www.gabrielpichot.fr/blog/simplify-tanstack-react-query-state-handling-with-pattern-matching/>)

## [React Agent Hooks : exposer l’état d’une interface aux agents](<https://sebastien.rigaux.be/veille/liens/react-agent-hooks-exposer-l-etat-d-une-interface-aux-agents>)

Cette bibliothèque dérive des outils pour LLM à partir de hooks React. L’interface humaine et celle de l’agent peuvent ainsi partager le même état, avec un schéma de modification défini par le développeur.

2025-04-20 · [Markdown](<https://sebastien.rigaux.be/veille/liens/react-agent-hooks-exposer-l-etat-d-une-interface-aux-agents.md>) · [Ressource originale](<https://github.com/chuanqisun/react-agent-hooks>)

## [Les signals Preact pour gérer un état réactif](<https://sebastien.rigaux.be/veille/liens/les-signals-preact-pour-gerer-un-etat-reactif>)

Le guide présente les signals et le suivi automatique des dépendances dans Preact. Il explique comment les changements d’état mettent à jour l’interface sans multiplier les synchronisations manuelles.

2025-02-15 · [Markdown](<https://sebastien.rigaux.be/veille/liens/les-signals-preact-pour-gerer-un-etat-reactif.md>) · [Ressource originale](<https://preactjs.com/guide/v10/signals/>)

## [Normy : normaliser les données pour simplifier les mises à jour de cache](<https://sebastien.rigaux.be/veille/liens/normy-normaliser-les-donnees-pour-simplifier-les-mises-a-jour-de-cache>)

Normy normalise les données chargées par des bibliothèques comme React Query ou SWR. Les entités partagées peuvent ensuite être mises à jour dans plusieurs résultats sans répéter la logique de synchronisation.

2025-01-07 · [Markdown](<https://sebastien.rigaux.be/veille/liens/normy-normaliser-les-donnees-pour-simplifier-les-mises-a-jour-de-cache.md>) · [Ressource originale](<https://github.com/klis87/normy>)

## [Gérer des filtres avancés dans l’URL avec l’App Router](<https://sebastien.rigaux.be/veille/liens/gerer-des-filtres-avances-dans-l-url-avec-l-app-router>)

Aurora Scharff utilise les paramètres d’URL comme source de vérité pour filtres, tri et pagination. L’article traite la coordination de cet état avec les interactions et les composants serveur.

2024-11-07 · [Markdown](<https://sebastien.rigaux.be/veille/liens/gerer-des-filtres-avances-dans-l-url-avec-l-app-router.md>) · [Ressource originale](<https://aurorascharff.no/posts/managing-advanced-search-param-filtering-next-app-router/>)

## [Nuqs : synchroniser l’état React avec les paramètres d’URL](<https://sebastien.rigaux.be/veille/liens/nuqs-synchroniser-l-etat-react-avec-les-parametres-d-url>)

Nuqs propose une API proche de useState avec parsers typés et contrôle de l’historique. Elle facilite des filtres partageables et rechargeables dont l’état reste dans l’URL.

2024-11-04 · [Markdown](<https://sebastien.rigaux.be/veille/liens/nuqs-synchroniser-l-etat-react-avec-les-parametres-d-url.md>) · [Ressource originale](<https://nuqs.dev/>)

## [Synchroniser une application Expo local-first avec TinyBase](<https://sebastien.rigaux.be/veille/liens/synchroniser-une-application-expo-local-first-avec-tinybase>)

Ce guide introduit TinyBase dans une application Expo pour combiner données locales réactives et synchronisation. Il aborde le partage des données entre appareils et utilisateurs.

2024-10-06 · [Markdown](<https://sebastien.rigaux.be/veille/liens/synchroniser-une-application-expo-local-first-avec-tinybase.md>) · [Ressource originale](<https://expo.dev/blog/how-to-synchronize-reactive-local-first-apps-with-tinybase>)
