# reduxjs/reselect

Selector library for Redux

Repository: https://github.com/reduxjs/reselect
Canonical: https://ross.abutalabs.com/products/reselect
Language: TypeScript
License: MIT
License Family: permissive
Topics: memoized-selectors, redux
Last push: 2026-08-22T02:10:49+00:00

## Health v2 (maintenance only)
Score: 90/100 (v2, computed 2026-09-03T02:39:23.370411+00:00)
- activity 98, release rhythm 74, longevity 100
- inputs: {"age_days": 4081, "days_push": 12, "days_rel": 12, "gap_med": 98, "n_releases_24m": 2}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 19018, forks 662 (observed 2026-08-28T04:11:27.363449+00:00)

## What it is
Reselect is a library for creating memoized selector functions, most commonly used with Redux but usable with any plain JavaScript immutable data. It computes derived data efficiently, only recalculating when input values change, and selectors can be composed as inputs to other selectors.

## Use cases
- compute derived data from Redux store state without recomputation
- avoid expensive filtering or mapping operations on every render
- compose selectors that depend on other selectors' outputs
- keep Redux state minimal by deriving values on demand
- memoize calculations over plain JavaScript immutable data outside Redux
- optimize React-Redux connected component performance

## When to choose
- you use Redux or Redux Toolkit and need efficient derived state
- your selectors perform expensive computations like filtering large arrays
- you want composable, cacheable selector functions
- you need to prevent unnecessary re-renders caused by recomputed derived data

## When to avoid
- your app has no derived state or only trivial computations
- you need state management itself rather than selector utilities
- you work with mutable data structures that defeat memoization

## Facets
- artifact type: library
- maturity: stable
- function: state-management, caching, developer-tools
- domain: frontend, web-development, developer-tools
- platform: browser, cross-platform
- tags: redux, memoization, selectors, derived-data, react, javascript, typescript, nodejs

## Member repositories
- reduxjs/reselect (main) score 90

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:11:27.363449+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T17:00:41.964987+00:00, confidence not recorded.
  - readme: https://github.com/reduxjs/reselect (fetched 2026-08-28T04:11:27.363449+00:00, sha f57d9768b59e)
  - registry_npm: https://registry.npmjs.org/reselect (fetched 2026-08-29T07:59:12.240954+00:00, sha 299dfeca8b5b)
- Data as of 2026-08-30T08:39:29.467469+00:00.
