Redux logo

Redux

Redux is a predictable state container for JavaScript apps. It helps write applications that behave consistently, run in different environments (client, server, and native), and are easy to test. Redux provides a single immutable state tree, pure reducer functions for state transitions, and a unidirectional data flow pattern based on the Flux architecture. The Redux ecosystem includes React Redux for React bindings, Redux Toolkit for simplified development patterns, and Redux DevTools for time-travel debugging. Redux is widely used with React but can be paired with any JavaScript view library.

8 APIs 0 Features
Flux ArchitectureFrontendJavascriptPredictable StateReactState ManagementTypescript

APIs

Redux Core API

Core Redux library for managing application state through a predictable unidirectional data flow. The library exposes createStore, combineReducers, applyMiddleware, compose, and...

React Redux API

Official React bindings for Redux, enabling React components to interact with a Redux store. Provides hooks (useSelector, useDispatch, useStore) and a Provider component for con...

Redux Toolkit API

The official, opinionated, batteries-included toolset for efficient Redux development. Redux Toolkit simplifies common Redux use cases including store setup, creating reducers a...

Redux DevTools API

Developer tools for debugging Redux applications with time-travel debugging capabilities. The Redux DevTools Extension allows inspection of every state and action payload dispat...

Redux Saga

A Redux middleware library that aims to make application side effects such as asynchronous data fetching and accessing browser caches easier to manage and more efficient to exec...

Redux Observable

RxJS-based middleware for Redux. Compose and cancel async actions to create side effects and more using Epics. An epic is a function which takes a stream of actions and returns ...

Redux Thunk

Thunk middleware for Redux, included by default with Redux Toolkit. Allows writing action creators that return a function instead of an action object, enabling delayed dispatch ...

Reselect

A selector library for Redux. Selectors are functions that compute derived data from the Redux state, allowing Redux to store the minimal possible state. Reselect creates memoiz...

Semantic Vocabularies

Redux Context

9 classes · 11 properties

JSON-LD

Resources

🔗
Website
Website
👥
GitHubOrganization
GitHubOrganization
📰
Blog
Blog
🔗
Community
Community
🔗
Twitter
Twitter
👥
StackOverflow
StackOverflow
🔗
StyleGuide
StyleGuide
💬
Faq
Faq
🎓
Tutorials
Tutorials
🔗
License
License
🔗
JSONSchema
JSONSchema
🔗
JSONSchema
JSONSchema
🔗
JSONStructure
JSONStructure
🔗
JSONLDContext
JSONLDContext
🔗
Vocabulary
Vocabulary

Sources

apis.yml Raw ↑
aid: redux
name: Redux
description: >-
  Redux is a predictable state container for JavaScript apps. It helps write
  applications that behave consistently, run in different environments (client,
  server, and native), and are easy to test. Redux provides a single
  immutable state tree, pure reducer functions for state transitions, and a
  unidirectional data flow pattern based on the Flux architecture. The Redux
  ecosystem includes React Redux for React bindings, Redux Toolkit for
  simplified development patterns, and Redux DevTools for time-travel
  debugging. Redux is widely used with React but can be paired with any
  JavaScript view library.
type: Index
image: https://redux.js.org/img/redux-logo-landscape.png
url: https://raw.githubusercontent.com/api-evangelist/redux/refs/heads/main/apis.yml
created: '2024-01-15'
modified: '2026-05-02'
specificationVersion: '0.19'
tags:
  - Flux Architecture
  - Frontend
  - Javascript
  - Predictable State
  - React
  - State Management
  - Typescript
apis:
  - name: Redux Core API
    description: >-
      Core Redux library for managing application state through a predictable
      unidirectional data flow. The library exposes createStore, combineReducers,
      applyMiddleware, compose, and bindActionCreators as its primary API surface.
      State mutations are triggered by dispatching plain action objects to a
      store, which processes them through pure reducer functions to produce the
      next immutable state tree.
    image: https://redux.js.org/img/redux-logo-landscape.png
    baseURL: https://redux.js.org
    humanURL: https://redux.js.org
    tags:
      - Actions
      - Middleware
      - Reducers
      - State Management
      - Store
    properties:
      - type: Documentation
        url: https://redux.js.org/introduction/getting-started
      - type: ApiReference
        url: https://redux.js.org/api/api-reference
      - type: GitHubRepository
        url: https://github.com/reduxjs/redux
      - type: NpmPackage
        url: https://www.npmjs.com/package/redux
      - type: TypeScript
        url: https://redux.js.org/usage/usage-with-typescript
      - type: Changelog
        url: https://github.com/reduxjs/redux/releases
      - type: License
        url: https://github.com/reduxjs/redux/blob/master/LICENSE.md
  - name: React Redux API
    description: >-
      Official React bindings for Redux, enabling React components to interact
      with a Redux store. Provides hooks (useSelector, useDispatch, useStore)
      and a Provider component for connecting the Redux store to the React
      component tree. React Redux ensures that components only re-render when
      the pieces of state they subscribe to change.
    image: https://react-redux.js.org/img/redux-logo-landscape.png
    baseURL: https://react-redux.js.org
    humanURL: https://react-redux.js.org
    tags:
      - Bindings
      - Components
      - Hooks
      - React
      - State Management
    properties:
      - type: Documentation
        url: https://react-redux.js.org/introduction/getting-started
      - type: ApiReference
        url: https://react-redux.js.org/api/hooks
      - type: GitHubRepository
        url: https://github.com/reduxjs/react-redux
      - type: NpmPackage
        url: https://www.npmjs.com/package/react-redux
      - type: Tutorials
        url: https://react-redux.js.org/tutorials/quick-start
      - type: Changelog
        url: https://github.com/reduxjs/react-redux/releases
  - name: Redux Toolkit API
    description: >-
      The official, opinionated, batteries-included toolset for efficient Redux
      development. Redux Toolkit simplifies common Redux use cases including
      store setup, creating reducers and writing immutable update logic, and
      creating entire state slices at once. Includes configureStore, createSlice,
      createAsyncThunk, createEntityAdapter, and the RTK Query data fetching
      and caching solution.
    image: https://redux-toolkit.js.org/img/redux-logo-landscape.png
    baseURL: https://redux-toolkit.js.org
    humanURL: https://redux-toolkit.js.org
    tags:
      - Code Generation
      - Immer
      - Redux Toolkit
      - Rtk Query
      - Simplified Redux
      - Toolkit
    properties:
      - type: Documentation
        url: https://redux-toolkit.js.org/introduction/getting-started
      - type: ApiReference
        url: https://redux-toolkit.js.org/api/configureStore
      - type: GitHubRepository
        url: https://github.com/reduxjs/redux-toolkit
      - type: NpmPackage
        url: https://www.npmjs.com/package/@reduxjs/toolkit
      - type: RtkQuery
        url: https://redux-toolkit.js.org/rtk-query/overview
      - type: Tutorials
        url: https://redux-toolkit.js.org/tutorials/quick-start
      - type: Changelog
        url: https://github.com/reduxjs/redux-toolkit/releases
  - name: Redux DevTools API
    description: >-
      Developer tools for debugging Redux applications with time-travel
      debugging capabilities. The Redux DevTools Extension allows inspection
      of every state and action payload dispatched, going back in time by
      cancelling actions, and replaying state changes. Also available as
      a standalone NPM package for programmatic integration.
    image: https://github.com/reduxjs/redux-devtools/raw/main/extension/docs/design/logo.png
    baseURL: https://github.com/reduxjs/redux-devtools
    humanURL: https://github.com/reduxjs/redux-devtools
    tags:
      - Browser Extension
      - Debugging
      - Devtools
      - Time Travel
    properties:
      - type: Documentation
        url: https://github.com/reduxjs/redux-devtools/blob/main/README.md
      - type: GitHubRepository
        url: https://github.com/reduxjs/redux-devtools
      - type: ChromeExtension
        url: https://chrome.google.com/webstore/detail/redux-devtools/lmhkpmbekcpmknklioeibfkpmmfibljd
      - type: FirefoxExtension
        url: https://addons.mozilla.org/en-US/firefox/addon/reduxdevtools/
      - type: NpmPackage
        url: https://www.npmjs.com/package/redux-devtools
  - name: Redux Saga
    description: >-
      A Redux middleware library that aims to make application side effects such
      as asynchronous data fetching and accessing browser caches easier to manage
      and more efficient to execute. Uses ES6 Generators to make async flows
      easy to read, write, and test.
    humanURL: https://redux-saga.js.org
    baseURL: https://redux-saga.js.org
    tags:
      - Async
      - Generators
      - Middleware
      - Side Effects
    properties:
      - type: Documentation
        url: https://redux-saga.js.org/docs/introduction/GettingStarted
      - type: GitHubRepository
        url: https://github.com/redux-saga/redux-saga
      - type: NpmPackage
        url: https://www.npmjs.com/package/redux-saga
  - name: Redux Observable
    description: >-
      RxJS-based middleware for Redux. Compose and cancel async actions to
      create side effects and more using Epics. An epic is a function which
      takes a stream of actions and returns a stream of actions.
    humanURL: https://redux-observable.js.org
    baseURL: https://redux-observable.js.org
    tags:
      - Middleware
      - Observables
      - Reactive
      - Rxjs
    properties:
      - type: Documentation
        url: https://redux-observable.js.org/docs/basics/Epics.html
      - type: GitHubRepository
        url: https://github.com/redux-observable/redux-observable
      - type: NpmPackage
        url: https://www.npmjs.com/package/redux-observable
  - name: Redux Thunk
    description: >-
      Thunk middleware for Redux, included by default with Redux Toolkit.
      Allows writing action creators that return a function instead of an
      action object, enabling delayed dispatch and conditional dispatch based
      on current state.
    humanURL: https://github.com/reduxjs/redux-thunk
    baseURL: https://github.com/reduxjs/redux-thunk
    tags:
      - Async
      - Middleware
      - Thunk
    properties:
      - type: Documentation
        url: https://github.com/reduxjs/redux-thunk#readme
      - type: GitHubRepository
        url: https://github.com/reduxjs/redux-thunk
      - type: NpmPackage
        url: https://www.npmjs.com/package/redux-thunk
  - name: Reselect
    description: >-
      A selector library for Redux. Selectors are functions that compute
      derived data from the Redux state, allowing Redux to store the minimal
      possible state. Reselect creates memoized selector functions that
      recompute only when their inputs change.
    humanURL: https://github.com/reduxjs/reselect
    baseURL: https://github.com/reduxjs/reselect
    tags:
      - Memoization
      - Performance
      - Selectors
    properties:
      - type: Documentation
        url: https://reselect.js.org/
      - type: GitHubRepository
        url: https://github.com/reduxjs/reselect
      - type: NpmPackage
        url: https://www.npmjs.com/package/reselect
maintainers:
  - FN: Kin Lane
    email: [email protected]
common:
  - type: Website
    url: https://redux.js.org
  - type: GitHubOrganization
    url: https://github.com/reduxjs
  - type: Blog
    url: https://blog.isquaredsoftware.com/
  - type: Community
    url: https://discord.gg/redux
  - type: Twitter
    url: https://twitter.com/reduxjs
  - type: StackOverflow
    url: https://stackoverflow.com/questions/tagged/redux
  - type: StyleGuide
    url: https://redux.js.org/style-guide/style-guide
  - type: Faq
    url: https://redux.js.org/faq
  - type: Tutorials
    url: https://redux.js.org/tutorials/essentials/part-1-overview-concepts
  - type: License
    url: https://github.com/reduxjs/redux/blob/master/LICENSE.md
  - type: JSONSchema
    url: json-schema/redux-store-schema.json
  - type: JSONSchema
    url: json-schema/redux-action-schema.json
  - type: JSONStructure
    url: json-structure/redux-store-structure.json
  - type: JSONLDContext
    url: json-ld/redux-context.jsonld
  - type: Vocabulary
    url: vocabulary/redux-vocabulary.yml