# reduxjs/react-redux

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/reduxjs-react-redux).**

23,473 stars · 3,332 forks · TypeScript · MIT

## Links

- GitHub: https://github.com/reduxjs/react-redux
- awesome-repositories: https://awesome-repositories.com/repository/reduxjs-react-redux.md

## Description

React-Redux provides the official bindings that connect a Redux state container to a React user interface. It functions as a state management integration and UI state connector, enabling the synchronization of a centralized data store with a component tree.

The library ensures a predictable UI state flow by implementing a unidirectional data path between the interface and the state container. It allows components to read global state and dispatch actions to trigger updates, maintaining a single source of truth across the application.

The project handles state synchronization through a combination of context-based injection and hook-based bindings. It utilizes selector-based memoization and subscription mechanisms to manage how components update in response to state changes.

## Tags

### Software Engineering & Architecture

- [Global State Managers](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/architectural-patterns/reactive-messaging/reactive-event-driven-systems/global-state-managers.md) — Provides a centralized repository that maintains and synchronizes the application state across all UI components.
- [Component State Bindings](https://awesome-repositories.com/f/software-engineering-architecture/architectural-design-patterns/state-management/reactive-subscription-systems/component-state-bindings.md) — Connects functional components to a centralized Redux store to read and react to specific state updates via hooks.
- [State Change Subscriptions](https://awesome-repositories.com/f/software-engineering-architecture/architectural-design-patterns/state-management/reactive-subscription-systems/state-change-subscriptions.md) — Tracks state changes via a store listener and triggers component updates only when observed state slices change.
- [Global State Stores](https://awesome-repositories.com/f/software-engineering-architecture/state-synchronization-utilities/prop-driven-state-synchronization/global-state-stores.md) — Provides centralized mechanisms to extract global state for display within unrelated components. ([source](https://cdn.jsdelivr.net/gh/reduxjs/react-redux@main/README.md))

### Data & Databases

- [State-Driven Data Flow Architectures](https://awesome-repositories.com/f/data-databases/state-driven-data-flow-architectures.md) — Implements a strict unidirectional data flow between the user interface and the state container.

### User Interface & Experience

- [Context-Based Dependency Injection](https://awesome-repositories.com/f/user-interface-experience/context-based-dependency-injection.md) — Shares the global state container across the component tree using the React Context API to avoid prop drilling.
- [State-to-UI Mapping](https://awesome-repositories.com/f/user-interface-experience/event-driven-state-managers/event-driven-state-synchronizers/ui-state-recomposition/state-to-ui-mapping.md) — Transforms raw store data into formatted props for UI display and manages the triggering of view updates.
- [Action Dispatch Abstractions](https://awesome-repositories.com/f/user-interface-experience/state-update-logic/state-action-value-updates/instance-scoped-action-dispatchers/action-dispatch-abstractions.md) — Provides abstractions for dispatching actions from the user interface to trigger updates in the state container. ([source](https://cdn.jsdelivr.net/gh/reduxjs/react-redux@main/README.md))
- [Update Batching](https://awesome-repositories.com/f/user-interface-experience/update-batching.md) — Implements mechanisms for grouping multiple state updates into single render cycles to optimize UI performance.
- [Memoized Rendering](https://awesome-repositories.com/f/user-interface-experience/virtual-rendering/rendering-optimizations/memoized-rendering.md) — Optimizes rendering by comparing selector results to skip the regeneration of unchanged UI components.

### Web Development

- [Centralized State Management](https://awesome-repositories.com/f/web-development/hydration-state-management/browser-side-state-management/centralized-state-management.md) — Maintains a single source of truth for application data in the browser through a centralized store.
- [React State Bindings](https://awesome-repositories.com/f/web-development/react-state-bindings.md) — Connects an external Redux state management container to React UI components for automatic synchronization.
- [State Store Integrations](https://awesome-repositories.com/f/web-development/state-store-integrations.md) — Links a global Redux data store to a React component tree to avoid deep prop drilling.
- [Reconciliation State Syncs](https://awesome-repositories.com/f/web-development/state-syncing-reactivity/set-state-syncing/reconciliation-state-syncs.md) — Maintains a local copy of the store state to ensure render consistency during the React reconciliation process.

### Part of an Awesome List

- [Core Frameworks](https://awesome-repositories.com/f/awesome-lists/devtools/core-frameworks.md) — Official bindings for state management within the hook ecosystem.
- [State Management](https://awesome-repositories.com/f/awesome-lists/devtools/state-management.md) — Official bindings for predictable state management.
