Repolode
reduxjs

reduxjs/reselect

Biblioteca TypeScript para criar funções selector com memoização que derivam dados do Redux ou de outros estados JavaScript simples.

Estrelas
19,005
Forks
666
Issues abertas
38
Último commit
ontem

O que é?

Reselect oferece createSelector, que cria funções "selector" com memoização. Você passa um ou mais selectors de entrada que extraem valores do estado e uma função de resultado que calcula um valor derivado a partir deles. O selector de saída só recalcula quando esses valores extraídos mudam e retorna a mesma referência quando nada mudou.

Isso permite que o Redux armazene apenas o estado mínimo, enquanto os dados derivados são calculados sob demanda. Também é possível compor selectors, usando a saída de um como entrada de outro. O Reselect está incluído no Redux Toolkit e também pode ser instalado separadamente pelo pacote reselect.

A biblioteca oferece opções de memoização, como weakMapMemoize, lruMemoize e createSelectorCreator, para personalizar o comportamento, além de verificações disponíveis apenas em desenvolvimento para estabilidade das entradas e funções de identidade.

Recursos principais

  • 01Cria selectors com memoização que evitam recalcular quando as entradas não mudam.
  • 02Permite compor selectors usando outros selectors como entradas.
  • 03Retorna referências estáveis para os resultados, ajudando React-Redux e React a evitar renderizações desnecessárias.
  • 04Oferece createStructuredSelector para criar selectors a partir de um objeto de selectors.
  • 05Oferece memoização personalizada por meio de createSelectorCreator, lruMemoize e weakMapMemoize.
  • 06Inclui verificações disponíveis apenas em desenvolvimento para detectar selectors de entrada instáveis e funções de resultado de identidade.

Casos de uso

  • Derivar dados filtrados ou agregados do estado do Redux sem armazená-los em duplicidade.
  • Fornecer props a componentes React por meio do React-Redux, evitando renderizações desnecessárias.
  • Criar selectors em camadas que combinam pequenas consultas ao estado em visões derivadas mais amplas.
  • Aplicar estado derivado com memoização a quaisquer dados imutáveis em JavaScript simples fora do Redux.

Início rápido

  1. 1

    Instale o pacote independente com npm

    npm install reselect
  2. 2

    Ou use o Redux Toolkit, que já inclui o Reselect (não é necessário instalar nada a mais)

Tópicos

Perguntas frequentes

O que é reselect?
Biblioteca TypeScript para criar funções selector com memoização que derivam dados do Redux ou de outros estados JavaScript simples. Reselect oferece createSelector, que cria funções "selector" com memoização. Você passa um ou mais selectors de entrada que extraem valores do estado e uma função de resultado que calcula um valor derivado a partir deles. O selector de saída só recalcula quando esses valores extraídos mudam e retorna a mesma referência quando nada mudou.
reselect é gratuito? Qual é a licença?
reselect é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
reselect ainda é mantido?
Manutenção ativa. O último commit de reselect foi em 21 de out. de 2026.
Para que posso usar reselect?
Derivar dados filtrados ou agregados do estado do Redux sem armazená-los em duplicidade. Fornecer props a componentes React por meio do React-Redux, evitando renderizações desnecessárias. Criar selectors em camadas que combinam pequenas consultas ao estado em visões derivadas mais amplas. Aplicar estado derivado com memoização a quaisquer dados imutáveis em JavaScript simples fora do Redux.
Como instalar reselect?
Instale o pacote independente com npm: npm install reselect Ou use o Redux Toolkit, que já inclui o Reselect (não é necessário instalar nada a mais)
Onde consigo reselect?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/reduxjs/reselect

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados