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
vuejs avatar

vuejs/vuex

0
View on GitHub↗
28,342 stars·9,458 forks·JavaScript·MIT·36 viewsvuex.vuejs.org↗

Vuex

Vuex is a centralized state management library for Vue.js applications. It provides a single source of truth for application data, ensuring consistent state across a component tree through a reactive data store.

The system organizes the global state tree into independent, namespaced modules to prevent naming collisions and maintain code organization. It distinguishes between synchronous mutations for predictable state transitions and asynchronous actions for handling complex operations.

The library includes cached getters for derived state, store lifecycle hooks for mutation interception, and support for dynamic module registration. It also provides tools for state change monitoring, strict mode mutation detection, and integration with the Composition API for reactive state synchronization.

Static typing support is available to ensure consistent data structures across state definitions and component access.

Features

  • Centralized State Stores - Maintains all application-level data in a single reactive state tree to serve as the consistent source of truth.
  • Centralized State Management - Provides a centralized state management architecture that maintains a single source of truth for application data.
  • State Store Namespacing - Divides the global state tree into independent, namespaced modules to prevent naming collisions.
  • Asynchronous Action Handling - Provides a dedicated mechanism for handling asynchronous operations that commit mutations after completion.
  • Centralized State Containers - Provides a single source of truth for application state with predictable mutations.
  • Component State Bindings - Binds functional components to a centralized data store to read and react to state updates.
  • Reactive Data Stores - Provides reactive containers that track state transitions and trigger component updates.
  • Asynchronous Action Handlers - Provides utilities that execute asynchronous operations within state management store actions.
  • Modular State Architectures - Divides the global state tree into independent, namespaced modules to keep large projects organized.
  • Modular State Containers - Implements independent state containers that can be instantiated as namespaced modules.
  • Predictable State Transitions - Updates application data through explicit mutations to create a traceable record of state changes.
  • Single-Source-of-Truth Modeling - Stores all application data in a single reactive object to serve as the consistent source of truth.
  • Synchronous State Mutations - Enforces synchronous state updates through explicit mutation functions to ensure all transitions are trackable.
  • Synchronous State Transitions - Updates state through synchronous mutations to ensure predictable and trackable changes to the data.
  • Global State Managers - Coordinates global application state shared across various UI components to ensure consistency.
  • Reactive Data Bindings - Synchronizes user interface components with underlying data state changes automatically.
  • Reactive State Synchronization - Binds global state to component properties via reactivity to trigger automatic user interface updates when data changes.
  • Derived State - Calculates derived state values using reactive getters that cache results for improved performance.
  • Memoized Derivations - Implements cached getters that compute and memoize derived state based on reactive dependencies.
  • Vue.js State Management Libraries - Provides a centralized store for managing global application state across a Vue.js component tree.
  • State Mutation Interceptors - Provides hooks to intercept state mutations for implementing logging, persistence, or time-travel debugging.
  • Hot Code Reloading - Updates mutations, modules, actions, and getters in real time to avoid full page reloads during development.
  • Dynamic Store Modules - Supports attaching or removing modules from the store at runtime to enable plugins or lazy-loaded features.
  • Module Namespaces - Provides hierarchical naming for getters, actions, and mutations via module paths to prevent naming collisions.
  • Composition API Integrations - Enables retrieval of the global state store within component setup hooks to support a compositional state management pattern.
  • Strict Mode Mutation Detection - Provides a strict mode that throws errors when state is modified outside of mutation handlers to ensure all changes are tracked.
  • State Change Monitoring - Observes specific state values or mutations and triggers callbacks when changes occur.
  • State Transition Logging - Records mutations and state snapshots during development to help debug the flow of data.
  • Form State Management - Binds input values to the global state store to ensure all updates occur through formal mutation handlers.
  • State Slicing - Divides the global state tree into smaller, self-contained namespaced modules for better organization and maintainability.
  • Lifecycle Hooks - Provides hooks to intercept mutations, allowing the injection of custom logic or side effects into the state lifecycle.
  • Web Frameworks - Centralized state management for Vue.js.
  • JavaScript 框架汇总 - Listed in the “JavaScript 框架汇总” section of the Awesome Frontend awesome list.

Star history

Star history chart for vuejs/vuexStar history chart for vuejs/vuex

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Vuex

These projects share indexed features with Vuex. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • 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

    Clojureclojurescriptre-framereact
    View on GitHub↗5,532
  • 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

    TypeScriptbusiness-logiceffectorevent-driven
    View on GitHub↗4,837
  • zerobias/effectorzerobias avatar

    zerobias/effector

    4,837View on GitHub↗

    Effector is a reactive state management library and data flow orchestrator designed for building complex, event-driven applications. It models application logic as a directed acyclic graph, where state updates and asynchronous side effects propagate automatically through declarative pipelines. By decoupling business logic from user interface layers, it allows developers to maintain state in independent containers that communicate via standard interfaces, ensuring the system remains framework-agnostic. The library distinguishes itself through its robust support for isolated execution scopes, w

    TypeScript
    View on GitHub↗4,837
  • reflux/refluxjsreflux avatar

    reflux/refluxjs

    5,323View on GitHub↗

    Refluxjs is a state management library designed to implement a unidirectional dataflow architecture. It manages application state through a strict cycle of actions and stores to prevent unpredictable update loops. The library coordinates asynchronous operations by managing event streams and triggering related success or failure actions. It also provides a global state registry that tracks store states via unique identifiers, enabling deep cloning for persistence and time-travel debugging. Its capability surface covers centralized state management, including the creation of data stores and de

    JavaScript
    View on GitHub↗5,323
Compare all 30 related projects→

Frequently asked questions

What does vuejs/vuex do?

Vuex is a centralized state management library for Vue.js applications. It provides a single source of truth for application data, ensuring consistent state across a component tree through a reactive data store.

What are the main features of vuejs/vuex?

The main features of vuejs/vuex are: Centralized State Stores, Centralized State Management, State Store Namespacing, Asynchronous Action Handling, Centralized State Containers, Component State Bindings, Reactive Data Stores, Asynchronous Action Handlers.

Which projects share features with vuejs/vuex?

Projects with overlapping indexed features include: day8/re-frame — re-frame is a functional framework for building single-page applications in ClojureScript. It provides a centralized,… effector/effector — Effector is a reactive state management library designed for building complex, event-driven applications. It functions… zerobias/effector — Effector is a reactive state management library and data flow orchestrator designed for building complex, event-driven… reflux/refluxjs — Refluxjs is a state management library designed to implement a unidirectional dataflow architecture. It manages… ctrlplusb/easy-peasy — Easy-peasy is a React state management library and typed framework that provides a centralized store for managing… rackt/redux — Redux is a JavaScript state management library that serves as a centralized state container for application data. It…