awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com

Reactive state management

Ranking updated Jun 30, 2026

For a reactive state management library for frontend, the first results are pmndrs/valtio (Valtio is a proxy-based reactive state management library that wraps state objects to track mutations and automatically propagate updates, supporting computed properties and fine-grained re-rendering, making it a direct and comprehensive match for your search), mobxjs/mobx and nanostores/nanostores (Nanostores is a reactive state management library built around atomic observable stores for fine-grained reactivity, supporting computed stores, subscriptions, and cross-framework adapters in TypeScript—directly matching the seek for a minimal, observable-based state library). legendapp/legend-state and knockout/knockout round out the shortlist. Compare the match explanations and check the project documentation against your requirements.

Explore the best reactive state management libraries for your project. Compare top GitHub repositories by stars and activity to find the best fit.

Reactive state management

Find the best repos with AI.We'll search the best matching repositories with AI.
  • pmndrs/valtiopmndrs avatar

    pmndrs/valtio

    10,196View on GitHub↗

    Valtio is a proxy-based state management library and reactive state engine that provides a mutable state store. It allows application state to be updated through direct object mutations rather than immutable patterns, using JavaScript proxies to track changes and trigger updates. For React applications, it includes a synchronization hook that ensures components re-render only when the specific properties they access are modified. The system supports reactive data derivation through computed properties that automatically update when their underlying dependencies change. It maintains reactivity

    Valtio is a proxy-based reactive state management library that wraps state objects to track mutations and automatically propagate updates, supporting computed properties and fine-grained re-rendering, making it a direct and comprehensive match for your search.

    TypeScriptComputed PropertiesDerived StateReactive Collection Wrappers
    View on GitHub↗10,196
  • mobxjs/mobxmobxjs avatar

    mobxjs/mobx

    28,189View on GitHub↗

    MobX is a reactive state management library and fine-grained reactivity engine. It provides an observable data store that automatically triggers updates in the user interface when data structures change, functioning as a transparent functional reactive store to maintain a consistent source of truth. The system utilizes a dependency-graph mapping and proxy-based object observation to track data dependencies. This ensures that only the specific components dependent on changed data are updated, which reduces unnecessary re-renders and optimizes frontend performance. The library supports decoupl

    MobX is a reactive state management library that uses proxy-based observables and a dependency graph to automatically propagate changes, and it covers all requested features including computed properties, subscriptions, minimal API, React integration, TypeScript support, and fine-grained reactivity — exactly what this search is after.

    TypeScriptFine-Grained ReactivityProxy-Based Reactivity
    View on GitHub↗28,189
  • nanostores/nanostoresnanostores avatar

    nanostores/nanostores

    7,072View on GitHub↗

    Nano Stores is a framework-agnostic state management library that uses a system of small, independent atomic stores to synchronize data across different JavaScript UI frameworks. It provides a reactive state container designed to minimize unnecessary component re-renders by decoupling application state into independent stores. The library features specialized synchronizers for real-time distributed state using WebSockets with conflict-free replicated data types, as well as a browser storage persistor for maintaining state across multiple open tabs. It utilizes adapter-based integration to map

    Nanostores is a reactive state management library built around atomic observable stores for fine-grained reactivity, supporting computed stores, subscriptions, and cross-framework adapters in TypeScript—directly matching the seek for a minimal, observable-based state library.

    TypeScriptComputed StateObserver Patterns
    View on GitHub↗7,072
  • legendapp/legend-stateLegendApp avatar

    LegendApp/legend-state

    4,145View on GitHub↗

    Legend-State is a reactive state management library for JavaScript applications that provides a centralized container for application data. It utilizes a fine-grained reactivity engine to track state access automatically, allowing developers to update and retrieve data without the need for boilerplate patterns like reducers, actions, or dispatchers. The library distinguishes itself through its hierarchical, path-based state addressing and proxy-based dependency tracking. By isolating state dependencies, it ensures that user interface updates are triggered only for the specific components that

    Legend-State is a reactive state management library with proxy-based fine-grained reactivity and automatic dependency tracking, directly matching the need for automatic change propagation without reducers or dispatchers, and it is written in TypeScript.

    TypeScriptFine-Grained ReactivityProxy-Based Reactivity
    View on GitHub↗4,145
  • knockout/knockoutknockout avatar

    knockout/knockout

    10,549View on GitHub↗

    Knockout is a client-side UI library and JavaScript framework used to create responsive web interfaces. It functions as a declarative data binding library and an observable data model system that decouples business logic from the document object model. The project implements the Model-View-ViewModel pattern to separate application logic from the user interface. It synchronizes data models with visual views by linking internal JavaScript properties to HTML elements, allowing the interface to update automatically when underlying data changes. The framework provides capabilities for dynamic fro

    Knockout is a classic reactive state management library that provides observable-based reactivity, computed properties, automatic dependency tracking, and data binding, directly meeting the core intent.

    JavaScriptComputed PropertiesObservable State Management
    View on GitHub↗10,549
  • vuejs/corevuejs avatar

    vuejs/core

    53,861View on GitHub↗

    Vue is a progressive JavaScript framework designed for building modular, reactive user interfaces. It utilizes a component-based architecture that allows developers to encapsulate logic, templates, and styles into reusable units. At its core, the framework employs a virtual DOM renderer and a proxy-based reactivity system to synchronize application state with the document object model efficiently. What distinguishes this framework is its focus on developer experience and flexibility. It supports a single-file component format that colocalizes related concerns, alongside a powerful composition

    Vue's core provides a standalone proxy-based reactivity system with computed properties, watchers, fine-grained updates, and TypeScript support, making it the definitive reactive state management library you are looking for.

    TypeScriptComputed PropertiesProxy-Based ReactivityReactive State Wrappers
    View on GitHub↗53,861
  • vuejs/piniavuejs avatar

    vuejs/pinia

    14,480View on GitHub↗

    Pinia is a state management library for Vue applications that provides a centralized, type-safe architecture for organizing reactive data. It utilizes a modular store pattern, allowing developers to define independent, reusable state containers that manage shared application data, computed getters, and executable actions. The library distinguishes itself through a flexible definition model that supports both functional setup patterns and traditional object-based structures. It features a plugin-based extension architecture that enables developers to hook into the store lifecycle for custom fu

    Pinia is the official Vue state management library built on proxy-based reactivity, offering computed getters, watchers, and a minimal API—exactly the reactive state library with all requested features, though it is tied to the Vue framework.

    TypeScriptProxy-Based Reactivity
    View on GitHub↗14,480
  • pmndrs/jotaipmndrs avatar

    pmndrs/jotai

    21,208View on GitHub↗

    Jotai is a state management library for React applications that utilizes an atomic model to handle data. It organizes application state into small, independent units called atoms, which automatically track dependencies and trigger granular updates to components. By building state through these composable primitives, the library ensures that only the necessary parts of an application re-render when data changes. The library distinguishes itself through its flexible approach to state composition and asynchronous data handling. It integrates promises directly into the state model, allowing devel

    Jotai is a reactive state management library for React that uses an atomic model with automatically tracked dependencies and fine-grained updates, directly matching the need for observable-based reactivity, computed state, and a minimal API with TypeScript support.

    TypeScriptProxy-Based ReactivityDerived State
    View on GitHub↗21,208
  • ngrx/platformngrx avatar

    ngrx/platform

    8,320View on GitHub↗

    This project is a state management framework for Angular applications that provides a predictable state container. It implements a Redux-style architecture using a centralized store, managing global and local application data through an observable-based data flow of actions and reducers. The framework includes a specialized entity management tool for organizing and synchronizing server-side data collections within client-side stores. It also provides a reactive store system that integrates state updates with Angular signals for change detection and includes debugging mechanisms for time-trave

    NgRx is a reactive state management library for Angular using observables and a centralized store with selectors for derived state, fitting the need for observable-based reactivity and framework integration, though its Redux-style pattern differs from a minimal proxy-based approach.

    TypeScriptDerived StateObservable State Management
    View on GitHub↗8,320
  • react-hook-form/react-hook-formreact-hook-form avatar

    react-hook-form/react-hook-form

    44,760View on GitHub↗

    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

    React Hook Form is a reactive state management library that uses a subscription-based architecture to track property access and minimize re-renders, but it is specialized for form state rather than general-purpose state objects, which may limit its applicability for broader reactivity needs.

    TypeScriptObservable State PatternsProxy-Based State Subscriptions
    View on GitHub↗44,760
  • alpinejs/alpinealpinejs avatar

    alpinejs/alpine

    31,675View on GitHub↗

    This project is a declarative framework for building reactive user interfaces by embedding logic directly into HTML markup. It functions as a lightweight state container that tracks data changes and automatically synchronizes the document object model with the underlying application state. By utilizing proxy-based observation, it ensures that interface updates occur precisely when reactive properties are modified. The framework distinguishes itself by allowing developers to define interactive behavior through custom attributes rather than external scripts. This approach enables the compositio

    Alpine.js is a lightweight, proxy-based reactive state container that tracks data changes and synchronizes the DOM, fitting your need for a library that makes state objects reactive with computed properties and watchers, though it is embedded in a full UI framework rather than a standalone state management library.

    HTMLProxy-Based Reactivity
    View on GitHub↗31,675
  • effector/effectoreffector avatar

    effector/effector

    4,837View on GitHub↗

    Effector is a reactive state management library designed for building complex, event-driven applications. It functions as a data flow engine that models application logic as a directed acyclic graph, ensuring that state updates propagate automatically through interconnected nodes. By utilizing atomic state updates and declarative unit composition, the library maintains data consistency and provides a predictable execution model for managing application state. The project distinguishes itself through its framework-agnostic architecture, which decouples business logic from user interface implem

    Effector is a mature reactive state management library for TypeScript and JavaScript that provides observable stores, computed derived state, subscription mechanisms, minimal API surface, framework integrations, and fine-grained reactivity, fully matching the visitor's search for a library that makes state objects reactive with automatic change propagation.

    TypeScriptDerived State
    View on GitHub↗4,837
  • preactjs/signalspreactjs avatar

    preactjs/signals

    4,452View on GitHub↗

    Signals is a reactive state management library and fine-grained reactivity engine. It functions as a dependency-tracking state manager that maps relationships between values to ensure derived data and user interface elements remain synchronized. The library distinguishes itself through direct-to-node DOM binding, which allows state to update specific text nodes in the browser without triggering a full component render cycle. It employs a runtime dependency graph and atomic batching to group multiple state modifications into single notification cycles, reducing redundant executions. The syste

    Signals is a performant state management library that provides observable-based signals with automatic dependency tracking and fine-grained updates, perfectly matching the request for a reactive state management library with proxy/observable reactivity.

    TypeScriptComputed StateFine-Grained ReactivityDerived State
    View on GitHub↗4,452
  • mobxjs/mobx-state-treemobxjs avatar

    mobxjs/mobx-state-tree

    7,050View on GitHub↗

    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

    MobX State Tree is a reactive state management library that provides observable, typed models with computed views and action-centric mutations, built on MobX’s proxy-based reactivity—directly matching the demand for a structured, tree-based reactive state library with TypeScript support.

    TypeScriptChange ObserversMobX ImplementationsObservable State Management
    View on GitHub↗7,050
  • day8/re-frameday8 avatar

    day8/re-frame

    5,532View on GitHub↗

    re-frame is a functional framework for building single-page applications in ClojureScript. It provides a centralized, immutable database that serves as the single source of truth for the entire application state, enforcing a strict unidirectional data flow where events trigger state transitions and subsequent view updates. The framework distinguishes itself through a reactive signal graph and an interceptor-based middleware pipeline. By treating application logic as a sequence of data-driven events and declarative side effects, it decouples business logic from the view layer. This architectur

    re-frame is a ClojureScript reactive state management framework built on a centralized immutable database and a reactive signal graph with subscriptions for derived state, which fits the category of a reactive state management library, though it is ClojureScript-specific and uses a signal-based approach rather than proxy-based reactivity.

    ClojureReactive State SubscriptionsDerived State
    View on GitHub↗5,532
  • pmndrs/zustandpmndrs avatar

    pmndrs/zustand

    58,371View on GitHub↗

    Zustand is a state management library that provides a centralized store for managing shared application data. It functions as a reactive container that connects application state to components, allowing them to subscribe to specific slices of data and trigger updates automatically. By utilizing selector-based data access and immutable state updates, the library ensures that components only re-render when their observed data changes, maintaining a predictable and efficient data flow. The library distinguishes itself through a pluggable, middleware-based architecture that allows for the extensi

    Zustand is a state management library with a minimal, selector-based reactive store that automatically propagates changes to components — it fits the reactive state management category but uses immutable updates rather than proxy/observable wrappers as the core mechanism.

    TypeScriptComponent State BindingsImmutable State PatternsReactive Data Stores
    View on GitHub↗58,371
  • nx-js/observer-utilnx-js avatar

    nx-js/observer-util

    1,211View on GitHub↗

    Observer-util is a reactive state management library that leverages ES6 proxies to automate dependency tracking and synchronization between data and application logic. By wrapping plain data structures in transparent proxies, the library monitors property access and mutations to trigger associated functions automatically whenever the underlying state changes. The library distinguishes itself through its granular control over the reactive lifecycle and execution flow. It provides mechanisms to decouple data change detection from reaction execution, allowing developers to implement custom sched

    nx-js/observer-util is a library that makes objects reactive via ES6 Proxies, offering transparent change propagation and data binding, which fits your search for a minimal proxy-based reactive state management library, though it lacks explicit computed/derived state and TypeScript support.

    JavaScriptProxy-Based ReactivityObservable State Management
    View on GitHub↗1,211
Compare the top 10 at a glance
RepositoryStarsLanguageLicenseLast push
pmndrs/valtio10.2KTypeScriptMITJun 11, 2026
mobxjs/mobx28.2KTypeScriptMITJun 15, 2026
nanostores/nanostores7.1KTypeScriptmitFeb 11, 2026
legendapp/legend-state4.1KTypeScriptMITApr 27, 2026
knockout/knockout10.5KJavaScriptNOASSERTIONMar 25, 2026
vuejs/core53.9KTypeScriptMITJun 23, 2026
vuejs/pinia14.5KTypeScriptmitFeb 15, 2026
pmndrs/jotai21.2KTypeScriptMITJun 12, 2026
ngrx/platform8.3KTypeScriptNOASSERTIONJun 17, 2026
react-hook-form/react-hook-form44.8KTypeScriptMITJun 16, 2026

Related searches

  • a state management library for frontend frameworks
  • a state management library for Vue
  • a state management library for Flutter apps
  • Reactive state engine
  • Reactive binding engines
  • a state machine library for TypeScript apps
  • a component library for React web interfaces
  • a javascript library for building user interfaces