awesome-repositories.com
博客
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
reactjs avatar

reactjs/reselect

0
View on GitHub↗
19,033 星标·660 分支·TypeScript·MIT·3 次浏览

Reselect

Reselect is a memoized selector framework and state selector library designed to optimize performance in Redux applications. It provides a system for computing derived data from a state store and caching the results to prevent unnecessary user interface re-renders.

The library functions as a state transformation pipeline, allowing multiple selectors to be composed into chains. This enables the creation of complex data transformation pipelines where the output of one memoized selector serves as the input for another.

The framework focuses on input-based memoization and referential equality checking to ensure expensive calculations only run when dependencies change. It supports derived state projection and dependency tracking to transform raw state trees into specific data shapes.

The project is implemented in TypeScript.

Features

  • Memoized Derivations - Implements a caching layer for state lookups to ensure components only update when dependencies change.
  • Method Result Caches - Stores the result of a calculation based on input arguments to avoid redundant processing.
  • State Transformation Pipelines - Composes multiple selectors into a chain to process complex state trees into specific application data.
  • Composable Selector Pipelines - Provides a system for chaining multiple memoized selectors to build complex data transformation pipelines.
  • Derived State Management - Computes derived data from a Redux store while preventing unnecessary user interface re-renders.
  • Memoized Computations - Caches result values and returns them immediately if the provided input arguments remain identical.
  • Referential Equality Checking - Uses strict identity comparison to determine if input data has changed before triggering recalculations.
  • Derived State - Transforms raw state trees into specific data shapes without mutating the original source of truth.
  • State Selectors - Computes derived data from a Redux store and caches the results to prevent unnecessary re-renders.
  • Component Update Optimizations - Reduces the number of computations and component updates in Redux applications through result caching.
  • Dependency Tracking - Monitors input selectors to ensure results are only recomputed when specific dependencies update.
  • Custom Memoization Rules - Controls how arguments and results are cached by replacing default equality checks with custom functions.
  • Value-Based Equality Checking - Allows replacing default identity checks with custom functions to determine if cached values are stale.
  • Frontend Performance Optimization - Reduces expensive calculations in web applications by caching results based on input stability.
  • Data Transformation Pipelines - Creates complex data pipelines that transform raw state into a format ready for display.
  • 数据管理 - Selector library for optimizing Redux state access.
  • React - A JavaScript library for building user interfaces - Listed in the “React - A JavaScript library for building user interfaces” section of the Awesome Redux awesome list.
  • Utilities - Listed in the “Utilities” section of the Awesome Redux awesome list.

Star 历史

reactjs/reselect 的 Star 历史图表reactjs/reselect 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

Reselect 的开源替代方案

相似的开源项目,按与 Reselect 的功能重合度排序。
  • reduxjs/reselectreduxjs 的头像

    reduxjs/reselect

    19,032在 GitHub 上查看↗

    Reselect is a state management optimization tool and memoization utility designed to minimize redundant calculations and UI re-renders. It functions as a library for creating memoized selectors that derive specific data from a state store. The library implements input-based memoization and recursive selector composition to create a hierarchy of derived data dependencies. It ensures reference-stable result caching and provides custom equality checking to determine when a cache should be invalidated. The project covers capabilities for derived data computation, frontend performance optimizatio

    TypeScriptmemoized-selectorsredux
    在 GitHub 上查看↗19,032
  • effector/effectoreffector 的头像

    effector/effector

    4,837在 GitHub 上查看↗

    Effector is a reactive state management library designed for building complex, event-driven applications. It functions as a data flow engine that models application logic as a directed acyclic graph, ensuring that state updates propagate automatically through interconnected nodes. By utilizing atomic state updates and declarative unit composition, the library maintains data consistency and provides a predictable execution model for managing application state. The project distinguishes itself through its framework-agnostic architecture, which decouples business logic from user interface implem

    TypeScriptbusiness-logiceffectorevent-driven
    在 GitHub 上查看↗4,837
  • solidjs/solidsolidjs 的头像

    solidjs/solid

    35,621在 GitHub 上查看↗

    Solid is a declarative JavaScript framework for building user interfaces through fine-grained reactivity. By utilizing a compile-time template transformation process, it converts JSX into direct DOM manipulation instructions, eliminating the need for a virtual tree. This architecture allows the framework to track dependencies at the individual element level, ensuring that state changes trigger surgical updates to the interface. The framework distinguishes itself through its isomorphic rendering pipeline, which shares reactive logic across server and client environments to support both initial

    TypeScriptdeclarativefine-grainedjavascript
    在 GitHub 上查看↗35,621
  • mobxjs/mobx-reactmobxjs 的头像

    mobxjs/mobx-react

    4,823在 GitHub 上查看↗

    mobx-react is a library that provides state bindings to connect React components to MobX observable state. It functions as a component state synchronizer, ensuring that user interface elements automatically re-render only when the specific observed data they consume changes. The project enables a decoupled state architecture by moving business logic and domain state into standalone stores, separating data management from the React component tree. It facilitates global state distribution across deep component hierarchies using providers and context to avoid manual prop drilling. The library c

    TypeScriptjavascriptmobxreact
    在 GitHub 上查看↗4,823
查看 Reselect 的所有 30 个替代方案→

常见问题解答

reactjs/reselect 是做什么的?

Reselect is a memoized selector framework and state selector library designed to optimize performance in Redux applications. It provides a system for computing derived data from a state store and caching the results to prevent unnecessary user interface re-renders.

reactjs/reselect 的主要功能有哪些?

reactjs/reselect 的主要功能包括:Memoized Derivations, Method Result Caches, State Transformation Pipelines, Composable Selector Pipelines, Derived State Management, Memoized Computations, Referential Equality Checking, Derived State。

reactjs/reselect 有哪些开源替代品?

reactjs/reselect 的开源替代品包括: reduxjs/reselect — Reselect is a state management optimization tool and memoization utility designed to minimize redundant calculations… effector/effector — Effector is a reactive state management library designed for building complex, event-driven applications. It functions… solidjs/solid — Solid is a declarative JavaScript framework for building user interfaces through fine-grained reactivity. By utilizing… mobxjs/mobx-react — mobx-react is a library that provides state bindings to connect React components to MobX observable state. It… react-boilerplate/react-boilerplate — This is a foundational project structure for building scalable web applications using React. It provides a… facebook/react — React is a JavaScript library for building user interfaces based on a component-driven architecture and unidirectional…