StackShareStackShare
Follow on
StackShare

Discover and share technology stacks from companies around the world.

Follow on

© 2025 StackShare. All rights reserved.

Product

  • Stacks
  • Tools
  • Feed

Company

  • About
  • Contact

Legal

  • Privacy Policy
  • Terms of Service
  1. Stackups
  2. Application & Data
  3. Frameworks
  4. Javascript Utilities And Libraries
  5. Recompose vs reselect

Recompose vs reselect

OverviewComparisonAlternatives

Overview

Recompose
Recompose
Stacks73
Followers19
Votes0
GitHub Stars15.0K
Forks1.2K
reselect
reselect
Stacks428
Followers30
Votes0
GitHub Stars19.1K
Forks666

Recompose vs reselect: What are the differences?

## Introduction
This Markdown code compares and contrasts the key differences between Recompose and reselect.

1. **Higher-order Components vs Selector Functions**: Recompose primarily focuses on creating Higher-order Components (HOCs), which are used to enhance the functionality of existing components. On the other hand, reselect is more centered around the concept of selector functions, which compute derived data from the Redux store efficiently.
2. **Composition vs Memoization**: Recompose emphasizes composition, enabling developers to enhance components by composing multiple HOCs together. In contrast, reselect prioritizes memoization, allowing selectors to efficiently compute and store derived data.
3. **Component Enhancements vs Data Computation**: Recompose is primarily aimed at enhancing the functionality of components by providing a set of utility HOCs for tasks like state management, lifecycle methods, and more. In contrast, reselect focuses on efficiently computing and accessing derived data from the Redux store, improving performance in applications with complex state structures.
4. **Flexibility in Component Enhancements vs Efficiency in Data Computation**: Recompose offers flexibility in enhancing components by enabling developers to compose HOCs in various combinations to suit different requirements. Conversely, reselect prioritizes efficiency by ensuring that selectors only recalculate when their input data changes, reducing unnecessary computations.
5. **Use Cases**: Recompose is commonly used for simplifying component logic, handling props manipulation, and managing component state, while reselect is typically employed for optimizing performance in Redux applications by efficiently computing derived state.
6. **Dependence on Redux vs Standalone Usage**: Recompose is often used alongside Redux for managing component logic and state, while reselect can be utilized independently in any Redux application to enhance data computation within selectors.

In Summary, Recompose focuses on enhancing components through composition using Higher-order Components, while reselect specializes in efficiently computing derived data from the Redux store through memoized selector functions.

Share your Stack

Help developers discover the tools you use. Get visibility for your team's tech choices and contribute to the community's knowledge.

View Docs
CLI (Node.js)
or
Manual

Detailed Comparison

Recompose
Recompose
reselect
reselect

It is a React utility belt for function components and higher-order components. A higher-order component (HOC) refers to a function that accepts a single React component and returns a new React component. Think of it like lodash for React.

Simple “selector” library for Redux (and others) inspired by getters in NuclearJS, subscriptions in re-frame and this proposal from speedskater.

Higher-order components made easy; Optimizing bundle size
-
Statistics
GitHub Stars
15.0K
GitHub Stars
19.1K
GitHub Forks
1.2K
GitHub Forks
666
Stacks
73
Stacks
428
Followers
19
Followers
30
Votes
0
Votes
0
Integrations
React
React
rollup
rollup
Redux
Redux

What are some alternatives to Recompose, reselect?

Redux

Redux

It helps you write applications that behave consistently, run in different environments (client, server, and native), and are easy to test. t provides a great experience, such as live code editing combined with a time traveling debugger.

Underscore

Underscore

A JavaScript library that provides a whole mess of useful functional programming helpers without extending any built-in objects.

MobX

MobX

MobX is a battle tested library that makes state management simple and scalable by transparently applying functional reactive programming (TFRP). React and MobX together are a powerful combination. React renders the application state by providing mechanisms to translate it into a tree of renderable components. MobX provides the mechanism to store and update the application state that React then uses.

Deno

Deno

It is a secure runtime for JavaScript and TypeScript built with V8, Rust, and Tokio.

Chart.js

Chart.js

Visualize your data in 6 different ways. Each of them animated, with a load of customisation options and interactivity extensions.

Zustand

Zustand

Small, fast and scaleable bearbones state-management solution. Has a comfy api based on hooks, that isn't boilerplatey or opinionated, but still just enough to be explicit and flux-like.

Effector

Effector

It is an effective multi-store state manager for Javascript apps, that allows you to manage data in complex applications.

Immutable.js

Immutable.js

Immutable provides Persistent Immutable List, Stack, Map, OrderedMap, Set, OrderedSet and Record. They are highly efficient on modern JavaScript VMs by using structural sharing via hash maps tries and vector tries as popularized by Clojure and Scala, minimizing the need to copy or cache data.

redux-saga

redux-saga

An alternative side effect model for Redux apps

vuex

vuex

Vuex is a state management pattern + library for Vue.js applications. It serves as a centralized store for all the components in an application, with rules ensuring that the state can only be mutated in a predictable fashion. It also integrates with Vue's official devtools extension to provide advanced features such as zero-config time-travel debugging and state snapshot export / import.

Related Comparisons

Bootstrap
Materialize

Bootstrap vs Materialize

Laravel
Django

Django vs Laravel vs Node.js

Bootstrap
Foundation

Bootstrap vs Foundation vs Material UI

Node.js
Spring Boot

Node.js vs Spring-Boot

Liquibase
Flyway

Flyway vs Liquibase