10 dépôts
Subscription-based models for broadcasting granular state updates.
Distinguishing note: Focuses on the subscription model for state changes rather than the state container itself.
Explore 10 awesome GitHub repositories matching web development · Observable State Patterns. Refine with filters or upvote what's useful.
React Hook Form is a state management library designed to handle form registration, validation, and submission lifecycle events. By decoupling form control logic from the standard component lifecycle, it enables the creation of performant forms that minimize unnecessary re-renders. The library integrates with external schema validation tools to enforce data integrity and provides a declarative framework for managing complex form structures. The project distinguishes itself through a subscription-based architecture that tracks property access to ensure components only update when the specific
Broadcasts internal state changes through a subscription model for granular updates.
react-use is a collection of reusable state and effect hooks for managing common logic in React applications. It serves as a comprehensive library for implementing state management patterns and wrapping various browser APIs into consistent hook interfaces. The project provides a specialized toolkit for DOM interaction and browser API integration, allowing components to track element dimensions, manage cookies, and monitor hardware sensors. It includes a suite of animation and timing utilities for physics-based numeric interpolation and frame-synced state updates. Beyond basic state managemen
Deno-inspired synchronization of state with the latest emitted value of an observable stream.
Lit is a library for building lightweight, interoperable web components. It provides a base class that leverages native browser APIs to encapsulate state, logic, and styles, allowing developers to create custom elements that function consistently across any modern web project. The framework distinguishes itself through a reactive property system that automatically triggers efficient, batched DOM updates. By utilizing tagged template literals, it defines declarative UI structures that are compiled into optimized update instructions. Its architecture emphasizes modularity through a reactive con
Defines reactive class properties that notify observers automatically when their values are mutated or updated.
Electric is a Postgres data synchronization engine and replication proxy designed to enable local-first software. It replicates data from Postgres databases to client-side stores in real time using logical replication, allowing applications to maintain a local embedded database for offline access and low-latency updates. The system distinguishes itself by using shapes to filter and authorize specific subsets of database rows and columns before streaming them to clients or edge workers. It further supports multi-user collaboration by integrating a conflict-free replicated data type framework t
Streams database changes into an observable state container to enable automatic user interface updates.
This is a reference project that implements the same TodoMVC application across multiple Flutter state management and architecture patterns, enabling direct side-by-side comparison. The project demonstrates how different approaches—including BLoC, Redux, MobX, Provider, and Scoped Model—handle state, data flow, and separation of concerns within the Flutter framework. Each architecture implementation is built to the same specification and runs an identical suite of shared integration tests, ensuring consistent behavior across all patterns. This allows developers to evaluate the trade-offs of e
Uses observable state and automatic reactions to propagate changes reactively through the widget tree.
MobX State Tree is a structured, tree-based state management library for JavaScript applications that combines typed model definitions with reactive snapshots and patch-based change tracking. It provides a reactive state container with runtime and compile-time type safety, where application state is defined as a tree of typed models with collocated actions, computed views, and lifecycle hooks for predictable state mutations. The library is built around an action-centric mutation model that encapsulates all state changes within named functions that directly modify the tree, supported by genera
Leverages MobX's observable system to automatically track dependencies and re-render only when observed data changes.
weweChat est un client de bureau non officiel pour WeChat, développé comme un wrapper de messagerie multiplateforme. Il utilise une interface utilisateur basée sur React au sein d'un shell Electron pour fournir un environnement dédié à la gestion des conversations sur les systèmes d'exploitation de bureau. L'application introduit des capacités personnalisées non présentes dans le client officiel, telles que la capacité d'intercepter et d'archiver les messages qui ont été rappelés par l'expéditeur. Elle inclut également une automatisation de messagerie en masse pour envoyer le même message à plusieurs destinataires simultanément. Le client est conçu pour les flux de travail d'utilisateurs avancés, avec une navigation au clavier pour basculer entre les fils de discussion et démarrer des conversations. Il prend en charge une gestion multimédia améliorée via des transferts de fichiers par lots et l'intégration du presse-papiers pour les images et les fichiers. Le logiciel inclut un système de mises à jour automatiques pour garantir que les dernières versions sont installées.
Utilizes MobX for reactive state management to synchronize the application state with the React UI.
mobx-react est une bibliothèque qui fournit des liaisons d'état pour connecter les composants React à l'état observable MobX. Elle fonctionne comme un synchroniseur d'état de composant, garantissant que les éléments de l'interface utilisateur sont automatiquement re-rendus uniquement lorsque les données observées spécifiques qu'ils consomment changent. Le projet permet une architecture d'état découplée en déplaçant la logique métier et l'état du domaine dans des magasins autonomes, séparant la gestion des données de l'arbre des composants React. Il facilite la distribution de l'état global à travers des hiérarchies de composants profondes en utilisant des fournisseurs et le contexte pour éviter le passage manuel des props (prop drilling). La bibliothèque couvre un large éventail de primitives de gestion d'état, notamment les collections observables, les mises à jour basées sur des actions et la dérivation d'état calculé. Elle fournit des aides à l'intégration de l'interface utilisateur pour les composants de classe et fonctionnels, ainsi que des optimisations de performance pour la précision du re-rendu des composants et la prévention des fuites de mémoire lors du rendu côté serveur. Le projet est implémenté en TypeScript.
Implements a reactive state management pattern using observable state and automatic reactions.
This project is a full-stack TypeScript framework and boilerplate designed for building subscription-based software services. It provides a pre-configured development environment that integrates a React frontend with a Node.js and Express server and a MongoDB data layer. The framework includes integrated modules for managing subscription billing, multi-tenant user management, and secure identity verification via social logins and passwordless authentication. It further enables real-time application synchronization through a WebSocket server for bidirectional data streaming between clients and
Employs the MobX library for reactive state management to automatically update UI components.
Ce projet est une bibliothèque de gestion d'état réactive conçue pour gérer des données de formulaire complexes et une logique de validation. Elle utilise des modèles basés sur les observables pour synchroniser les composants de l'interface utilisateur avec les modèles de données sous-jacents, garantissant que les états des formulaires restent cohérents tout au long d'une application. La bibliothèque fournit une approche structurée pour gérer l'initialisation des formulaires, le suivi des champs et les événements du cycle de vie. La bibliothèque se distingue par sa prise en charge des structures de données profondément imbriquées et de la composition hiérarchique, permettant une validation récursive et des mises à jour dynamiques au sein d'arbres d'objets complexes. Elle dispose d'un moteur de validation piloté par schéma qui prend en charge à la fois les règles synchrones et asynchrones, ainsi qu'une interception de type middleware qui permet à une logique personnalisée de surveiller ou de transformer les données lors des mises à jour des champs. Les développeurs peuvent accéder et manipuler des champs spécifiques dynamiquement en utilisant un adressage basé sur le chemin, offrant une flexibilité lors du travail avec des modèles de formulaires volumineux ou évolutifs. Au-delà de la gestion d'état de base, la bibliothèque inclut des utilitaires pour la transformation des données, tels que le formatage des valeurs d'entrée et le calcul des valeurs des champs basés sur d'autres données de formulaire. Elle offre des capacités d'orchestration multi-formulaires pour coordonner la validation et la soumission sur plusieurs instances, et elle reste découplée des couches de présentation spécifiques pour permettre l'intégration avec n'importe quelle bibliothèque de composants d'interface utilisateur. Le framework fournit également des outils intégrés pour surveiller les événements du cycle de vie des champs et déboguer les transitions d'état internes.
Manages complex form state, validation, and nested data structures using MobX observables in web applications.