Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Redux
  3. redux-transducers

redux-transducers

JavaScript

Transducer utilities for Redux, enabling action dispatch and reducer creation via transducers.

GitHubGitHub
132 stars6 forks0 contributors

What is redux-transducers?

Redux Transducers is a utility library that integrates transducers with Redux, enabling developers to dispatch actions and create reducers using transducer transformations. It solves the problem of applying functional, composable data processing pipelines to Redux action streams and reducer logic, enhancing code modularity and reusability.

Target Audience

Redux developers familiar with functional programming concepts who want to leverage transducers for advanced action and state transformations in their applications.

Value Proposition

Developers choose Redux Transducers for its adherence to the transducer protocol, compatibility with major transducer libraries, and ability to cleanly separate transformation logic from Redux reducers, offering a functional alternative to middleware or custom dispatch logic.

Overview

Transducer utilities for Redux.

Use Cases

Best For

  • Applying functional transformations to Redux action streams before they reach reducers
  • Creating composable reducer logic using transducer pipelines
  • Integrating transducer libraries like transducers.js or transducers-js with Redux
  • Filtering or mapping actions based on complex conditions in a functional style
  • Building higher-order Redux stores with enhanced dispatch capabilities
  • Separating data transformation concerns from state update logic in Redux

Not Ideal For

  • Projects requiring stateful action transformations within Redux reducers, such as deduplication or throttling based on previous actions
  • Teams unfamiliar with functional programming concepts like transducers, as it assumes prior knowledge of libraries like transducers.js
  • Redux setups with complex store enhancer chains where strict ordering (must be applied first) hinders middleware integration

Pros & Cons

Pros

Protocol Conformity

Adheres to the standard transducer protocol, ensuring seamless interoperability with popular libraries like transducers.js and transducers-js, as stated in the README.

Composable Transformations

Enables building functional pipelines for action dispatching and reducer logic, allowing developers to cleanly separate transformation concerns from state updates.

Enhanced Dispatch Capability

Provides transducerProtocol to wrap Redux's createStore, enabling direct dispatch via transducers for advanced action stream processing, as shown in the example using into().

Cons

Stateful Transducer Restriction

The transduce() function cannot use stateful transducers like take() or dedupe() in reducers due to Redux's purity requirements, limiting transformation types, as admitted in the README.

Strict Enhancer Ordering

Must be applied before other store enhancers like middleware, complicating integration in setups with multiple enhancements, which the README warns can cause issues if not ordered correctly.

Niche Functional Knowledge

Requires understanding of transducers, an advanced functional programming concept, making it less accessible and increasing the learning curve compared to standard Redux middleware.

Frequently Asked Questions

Quick Stats

Stars132
Forks6
Contributors0
Open Issues0
Last commit11 years ago
CreatedSince 2015

Tags

#functional-programming#transducers#utility-library#javascript#state-management#middleware#redux

Built With

J
JavaScript

Included in

Redux391
Auto-fetched 9 hours ago

Related Projects

reselectreselect

Selector library for Redux

Stars19,015
Forks662
Last commit17 hours ago
redux-loggerredux-logger

Logger for Redux

Stars5,715
Forks317
Last commit6 years ago
redux-ormredux-orm

NOT MAINTAINED – A small, simple and immutable ORM to manage relational data in your Redux store.

Stars2,930
Forks110
Last commit3 years ago
redux-undoredux-undo

:recycle: higher order reducer to add undo/redo functionality to redux state containers

Stars2,899
Forks184
Last commit8 months ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub