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

reduxjs/redux

0
View on GitHub↗
61,511 stars·15,056 forks·TypeScript·MIT·61 viewsredux.js.org↗

Redux

Redux is a predictable state container designed to manage global application data through a centralized store. It operates on a unidirectional data flow architecture where state transitions are triggered by dispatching action objects, which are then processed by pure reducer functions to produce a new, immutable state tree. This approach ensures that application data remains consistent and traceable across the entire component hierarchy.

The library distinguishes itself through a functional pattern that relies on pure functions for state logic and a middleware-based extension system. This middleware allows for the interception of dispatched actions, enabling the handling of asynchronous logic and side effects before they reach the reducers. Furthermore, the project provides a comprehensive developer tooling ecosystem that supports real-time inspection of state changes and the ability to replay dispatched actions, facilitating efficient troubleshooting and debugging.

Beyond its core state management capabilities, the library includes official bindings to connect state logic to user interface components, simplifying data synchronization in complex applications. It also supports dynamic reducer replacement at runtime, allowing for flexible state logic updates. The library is available for installation via standard package managers and can be integrated into various module-bundled or browser-based environments.

Features

  • Centralized State Containers - Coordinates a centralized store that enforces a strict, unidirectional flow for consistent application data management.
  • State Containers - Maintains a single source of truth for global data through a centralized store that supports subscription-based updates.
  • Observer Patterns - Allows interface components to subscribe to the store and receive automatic notifications whenever data changes.
  • Functional State Management - Calculates new application data by applying pure functions to previous states and incoming events.
  • Action-Driven State Mutations - Processes discrete action objects to drive predictable transitions within the application data model.
  • Action Reducer Patterns - Uses plain objects to represent events and dedicated functions to define how those events transform application data.
  • Pure Reducer Compositions - Combines multiple independent pure functions to compute complex state transitions based on incoming actions.
  • Unidirectional Data Flow Architectures - Enforces a strict cycle where dispatched actions trigger specific functions to update the global data tree.
  • Centralized State Stores - Acts as the single immutable object tree serving as the definitive source of truth for all application information.
  • Immutable State Patterns - Generates new data objects for every state change to ensure transitions remain predictable and traceable.
  • State Debugging Utilities - Exposes diagnostic capabilities that let developers inspect state changes and replay dispatched actions for easier troubleshooting.
  • Middleware Layers - Intercepts the dispatch process with a chain of functions to facilitate asynchronous logic and side effects.
  • State Management - Predictable state container for JavaScript applications.
  • Desktop and Cross-Platform - State container for JavaScript applications.
  • React Ecosystem - Predictable state container for managing complex application data.
  • State Management - Listed in the “State Management” section of the Awesome React awesome list.
  • Web Frameworks - Predictable state container for JavaScript applications.
  • Component State Bindings - Connects functional user interface components to the centralized store to read and react to specific data updates.
  • Immutable Update Utilities - Updates application data by creating copies of existing structures to keep state transitions predictable and easy to track.

Star history

Star history chart for reduxjs/reduxStar history chart for reduxjs/redux

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 Redux

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

    TypeScripthacktoberfesthooksreact
    View on GitHub↗58,371
  • 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
  • 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

    TypeScriptjavascriptmobxreact
    View on GitHub↗28,189
  • reswift/reswiftReSwift avatar

    ReSwift/ReSwift

    7,594View on GitHub↗

    ReSwift is a unidirectional data flow framework for Swift applications that centralizes state management within a single store. It ensures predictable and traceable updates by requiring all state modifications to occur through explicit actions processed by reducer functions. The library includes a state time travel debugger that records and replays sequences of actions to reload or rewind the application state. It also provides an asynchronous action dispatcher to handle side effects and network requests while maintaining synchronized state updates. The framework covers a broad surface of st

    Swift
    View on GitHub↗7,594
Compare all 30 related projects→

Frequently asked questions

What does reduxjs/redux do?

Redux is a predictable state container designed to manage global application data through a centralized store. It operates on a unidirectional data flow architecture where state transitions are triggered by dispatching action objects, which are then processed by pure reducer functions to produce a new, immutable state tree. This approach ensures that application data remains consistent and traceable across the entire component hierarchy.

What are the main features of reduxjs/redux?

The main features of reduxjs/redux are: Centralized State Containers, State Containers, Observer Patterns, Functional State Management, Action-Driven State Mutations, Action Reducer Patterns, Pure Reducer Compositions, Unidirectional Data Flow Architectures.

Which projects share features with reduxjs/redux?

Projects with overlapping indexed features include: pmndrs/zustand — Zustand is a state management library that provides a centralized store for managing shared application data. It… reflux/refluxjs — Refluxjs is a state management library designed to implement a unidirectional dataflow architecture. It manages… mobxjs/mobx — MobX is a reactive state management library and fine-grained reactivity engine. It provides an observable data store… reswift/reswift — ReSwift is a unidirectional data flow framework for Swift applications that centralizes state management within a… day8/re-frame — re-frame is a functional framework for building single-page applications in ClojureScript. It provides a centralized,… reactjs/redux — Redux is a global state management library and predictable state container for JavaScript applications. It implements…