# rackt/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/rackt-react-redux).**

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

## Links

- GitHub: https://github.com/rackt/react-redux
- Homepage: https://react-redux.js.org
- awesome-repositories: https://awesome-repositories.com/repository/rackt-react-redux.md

## Description

React Redux is a set of official bindings and integration layers that connect a Redux global state container to a React user interface. It functions as a state synchronization library and a communication bridge, allowing components to read state and dispatch actions to a centralized store.

The project decouples business logic from the view layer, ensuring that the user interface automatically updates whenever the underlying global state changes. It manages complex data flows by linking the UI to a central state container to share data across different components and screens.

The library implements infrastructure for optimizing state-to-UI synchronization through selector-based memoization and subscription-based state tracking. It provides mechanisms for context-based store injection, batch-updated component synchronization, and the use of higher-order components to manage the connection between the store and the interface.

## Tags

### Web Development

- [Centralized State Management](https://awesome-repositories.com/f/web-development/hydration-state-management/browser-side-state-management/centralized-state-management.md) — Provides a centralized state management architecture that serves as the single source of truth for application data.
- [React State Bindings](https://awesome-repositories.com/f/web-development/react-state-bindings.md) — Provides official state bindings that connect a Redux store to React UI components.
- [State Store Integrations](https://awesome-repositories.com/f/web-development/state-store-integrations.md) — Implements state store integrations that allow UI components to extract and read data from the global state container. ([source](https://github.com/rackt/react-redux#readme))
- [State Update Dispatching](https://awesome-repositories.com/f/web-development/state-update-dispatching.md) — Provides state update dispatching mechanisms to trigger state changes by sending action objects to reducers. ([source](https://github.com/rackt/react-redux#readme))
- [Reactive State Synchronization](https://awesome-repositories.com/f/web-development/state-update-handlers/state-synchronization-handlers/ui-state-synchronization/reactive-state-synchronization.md) — Implements reactive state synchronization to automatically update components when the Redux state changes.
- [Memoized Derivations](https://awesome-repositories.com/f/web-development/memoized-derivations.md) — Implements memoized derivations via selectors to compute derived state and prevent unnecessary component re-renders.

### Software Engineering & Architecture

- [State Change Subscriptions](https://awesome-repositories.com/f/software-engineering-architecture/state-change-subscriptions.md) — Enables components to subscribe to specific slices of the global state store to trigger updates on change.

### User Interface & Experience

- [Context-Based Dependency Injection](https://awesome-repositories.com/f/user-interface-experience/context-based-dependency-injection.md) — Provides a mechanism to inject the global state store into the component tree to prevent prop drilling.
- [State-Driven UI Rendering](https://awesome-repositories.com/f/user-interface-experience/event-driven-state-managers/event-driven-state-synchronizers/ui-state-recomposition/state-driven-ui-rendering.md) — Ensures state-driven UI rendering where views automatically update in response to changes in the underlying global state.
- [Global State Managers](https://awesome-repositories.com/f/user-interface-experience/global-state-managers.md) — Functions as a global state manager to share application data across diverse UI components and screens.
- [Action Dispatchers](https://awesome-repositories.com/f/user-interface-experience/state-update-logic/state-action-value-updates/instance-scoped-action-dispatchers/action-dispatch-abstractions/action-dispatchers.md) — Provides action dispatchers that allow components to send event objects to the central store to trigger mutations.
- [Higher-Order Components](https://awesome-repositories.com/f/user-interface-experience/functional-components/higher-order-components.md) — Utilizes higher-order components to wrap functional components and manage their connection to the global state store.
- [Update Batching](https://awesome-repositories.com/f/user-interface-experience/update-batching.md) — Implements update batching to coordinate multiple state changes into single render cycles for improved performance.

### Part of an Awesome List

- [React - A JavaScript library for building user interfaces](https://awesome-repositories.com/f/awesome-lists/more/react-a-javascript-library-for-building-user-interfaces.md) — Listed in the “React - A JavaScript library for building user interfaces” section of the Awesome Redux awesome list.
