← All repositories
61,444 stars15,137 forksTypeScriptmit2 views
redux.js.org

Redux

Features

  • Global State ContainersManage global application state using a centralized store where user interface events trigger actions and reducer functions update the state in a predictable and immutable fashion.
  • Global State StoresConnecting disparate parts of a user interface to a centralized data store to avoid complex prop drilling in large applications.
  • Observer PatternsComponents register callback functions with the store to receive notifications whenever the state tree is updated by a dispatched action.
  • Predictable State ContainersA centralized store that manages application data through pure functions and immutable updates to ensure consistent and traceable state transitions.
  • Predictable State ManagementMaintaining a single source of truth for application data that ensures state transitions are consistent, traceable, and easy to debug.
  • State ContainersManage application state by dispatching actions, subscribing to state changes, retrieving the current state, and dynamically replacing reducers to update the underlying state logic at runtime.
  • State Management LibrariesInstall the state management library using standard package managers for use in module-bundled applications or directly in the browser environment by including the required script tags.
  • Unidirectional Data FlowsExecute one-way data flow by dispatching actions to a store, which triggers reducers to update state and notifies subscribed user interface components to re-render with new data.
  • Unidirectional Data FlowsEnforcing a strict unidirectional data cycle where actions trigger state updates to keep complex user interfaces synchronized and predictable.
  • Action-Driven State MutationsEvents are represented as plain objects that describe intent and are processed by the store to trigger predictable state transitions.
  • Action Reducer PatternsDefine actions as plain objects representing events, action creators as functions returning those objects, and reducers as functions that calculate new state based on current state and actions.
  • Centralized State StoresA single immutable object tree acts as the source of truth for the entire application state managed by a central container.
  • Functional State ManagementA development approach that relies on pure functions to calculate new application state based on the current state and incoming events.
  • Immutable State UpdatesEnsuring application data remains reliable by creating new state objects instead of modifying existing ones to prevent unintended side effects.
  • Pure Reducer CompositionsState transitions are calculated by combining independent pure functions that return new state objects based on incoming action events.
  • Unidirectional Data Flow ArchitecturesA pattern where state changes occur through a strict cycle of dispatching actions that trigger reducers to update the global state tree.
  • Unidirectional Data FlowsApplication state updates follow a strict cycle where actions trigger state changes that propagate down to components through a subscription mechanism.
  • Immutable Update UtilitiesUpdate application state immutably by creating copies of existing objects or arrays instead of modifying them directly to ensure that state transitions remain predictable and easy to track.
  • Middleware LayersThe dispatch process is intercepted by a chain of functions that allow for asynchronous logic and side effects before reaching the reducer.
  • State DebuggersInspecting the history of application events and state transitions in real time to quickly identify and resolve logic errors.
  • State Debugging UtilitiesA suite of diagnostic utilities that allow developers to inspect state changes and replay dispatched actions for easier debugging and troubleshooting.
  • Component State BindingsConnect state management logic to user interface components using official bindings that facilitate data flow and state updates throughout the entire component tree of an application.
  • State Debugging UtilitiesInspect application state and track dispatched actions in real-time using browser-based developer tools that integrate automatically with the store configuration to simplify the process of troubleshooting.