React Redux

Official React bindings for Redux — performant, flexible hooks and Provider for connecting components to your store.

Library
npm
v9.3.0
23,427 stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
91 /100 Excellent
Development Activity 88
Maintenance 92
Community 84
Maturity 60
Momentum 40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation. How we score it →
84 /100 Excellent
Architecture 88
Code Quality 92
Innovation 85
Learning Curve 70

React Redux is the official React binding for the Redux state container, maintained by the Redux team. It lets your React components read data from a Redux store and dispatch actions to update it, without manually subscribing to the store or threading state through props.

Built around a small hooks API (useSelector, useDispatch, useStore) plus a Provider component, it handles subscription management, memoized selectors, and batched re-renders internally so that only the components whose data actually changed are re-rendered. It supports React 18+ concurrent rendering via use-sync-external-store and remains fully compatible with the legacy connect() higher-order component.

What You Get

  • A Provider component that makes a Redux store available to the entire component tree via React context.
  • The useSelector, useDispatch, and useStore hooks for reading state and dispatching actions from function components.
  • The classic connect() higher-order component with mapStateToProps/mapDispatchToProps for existing and class-based codebases.
  • Automatic subscription management and memoized, referentially-stable re-renders so only affected components update.
  • First-class TypeScript types and React 18/19 concurrent-rendering support via use-sync-external-store.

Common Use Cases

  • Managing global application state (auth, cart, UI flags) shared across many unrelated components.
  • Migrating class-based connect() codebases to modern hook-based Redux usage incrementally.
  • Pairing with Redux Toolkit and RTK Query for a full data and state-management layer in large React apps.
  • Building predictable, testable state flows with a single source of truth and time-travel debugging.

Under The Hood

Architecture — The public surface in src/exports.ts is deliberately thin: a Provider (src/components/Provider.tsx) writes a ReactReduxContextValue (store plus a Subscription) into ReactReduxContext (src/components/Context.ts), and the hooks in src/hooks/ read it back. useSelector (src/hooks/useSelector.ts) delegates to useSyncExternalStoreWithSelector from use-sync-external-store, so selector evaluation and equality checks drive re-renders rather than raw store subscriptions. src/utils/Subscription.ts builds a nested tree of subscriptions so a parent connected component notifies its connected children in order, avoiding stale props and zombie-child bugs. The legacy connect() path (src/connect/) composes the same primitives through selectorFactory and mapStateToProps/mapDispatchToProps/mergeProps wrappers.

Tech Stack — Written in TypeScript (94% of the repo), built with tsup into CJS, ESM, and an RSC entry, with API surface pinned via @microsoft/api-extractor. The only runtime dependency is use-sync-external-store; React, Redux, and @types/react are peer dependencies (Redux and the React types optional), targeting React 18+/19 and Redux 5. Internals shim React access through src/utils/react.ts and use useIsomorphicLayoutEffect for SSR safety.

Code Quality — The codebase is small, cohesive, and heavily commented with JSDoc and @since tags on public options. It ships an extensive Vitest suite under test/ (component, hook, integration, and dedicated typetests/ for type-level assertions run with --typecheck), plus ESLint and Prettier gating. Naming is consistent and utilities are single-purpose (shallowEqual, hoistStatics, verifySubselectors), and development-mode stability/identity checks warn on common selector mistakes.

API Design — The hooks API is minimal and ergonomic: wrap the app once in <Provider store={store}> then call useSelector/useDispatch anywhere, with almost no boilerplate. TypeScript inference is strong, and the docs recommend typed useAppSelector/useAppDispatch wrappers. The retained connect() HOC keeps older codebases first-class, and per-selector dev-mode checks make correct usage discoverable. Learning curve is moderate — the hooks are simple, but understanding selectors, memoization, and the Redux data flow takes some ramp-up.

Used by 41 apps in this directory

TypeScript
95%
MIT

Actual

Invoicing Finance

29,186

Local-first personal finance with envelope budgeting, end-to-end encryption, and multi-device sync — no subscription required.

View details
93
Repo Health
85
Technical
73
Dependency
Built with
TypeScript 95%
Updated 5 days ago
Python
99%
MIT

Agent Lightning

AI Development

18,515

A Microsoft-built training framework that optimizes AI agents with reinforcement learning, automatic prompt optimization, or supervised fine-tuning — with near-zero code changes to your existing agent, in any framework.

View details
85
Repo Health
68
Technical
69
Dependency
Built with
Python 99%
Updated 5 days ago
TypeScript
72%
AGPL 3.0

APITable

Databases · Low Code Platforms

15,623

API-first collaborative spreadsheet-database platform that auto-generates REST APIs and lets teams build internal tools, CRMs, and dashboards without code.

View details
71
Repo Health
77
Technical
60
Dependency
Built with
TypeScript 72%
Java 22%
Updated 3 weeks ago
TypeScript
68%
Apache 2.0

Appsmith

Automation · Developer Tools · No Code Platforms

40,959

Open-source low-code platform to build admin panels, dashboards, and internal tools connected to any database or API.

View details
93
Repo Health
79
Technical
66
Dependency
Built with
TypeScript 68%
Java 21%
Updated 1 weeks ago
TypeScript
97%
AGPL 3.0

Bigcapital

Invoicing Finance

3,916

Self-hostable double-entry accounting platform with invoicing, inventory, multi-currency, and real-time financial reporting for small and medium businesses.

View details
90
Repo Health
77
Technical
61
Dependency
Built with
TypeScript 97%
Updated 1 weeks ago
JavaScript
99%
Other

ChartBrew

Analytics · Databases

4,063

Open-source reporting platform to build live dashboards from SQL, NoSQL, APIs, and SaaS tools with an AI assistant that creates charts from natural language.

View details
90
Repo Health
83
Technical
64
Dependency
Built with
JavaScript 99%
Updated 1 weeks ago
TypeScript
53%
Other

Chaskiq

CRM · Customer Support

3,574

Self-hosted live chat, video calls, help center, and marketing automation — a full-stack Intercom alternative you run on your own infrastructure.

View details
57
Repo Health
66
Technical
66
Dependency
Built with
TypeScript 53%
Ruby 36%
Updated 3 months ago
TypeScript
98%
AGPL 3.0

Checkmate

Analytics · Devops · Monitoring

10,895

Self-hosted uptime and infrastructure monitoring with multi-protocol checks, global geo-coverage, and beautiful real-time dashboards.

View details
90
Repo Health
82
Technical
67
Dependency
Built with
TypeScript 98%
Updated 1 weeks ago
Java
48%
Apache 2.0

ClearFlask

Community · Product Management

451

Open-source feedback management and roadmap tool that lets product teams collect, prioritize, and respond to user input — with AI-powered summarization and full self-hosting control.

View details
83
Repo Health
73
Technical
62
Dependency
Built with
Java 48%
TypeScript 47%
Updated 1 weeks ago

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers