Repolode
reduxjs

reduxjs/reselect

Redux 또는 일반 JavaScript 상태에서 데이터를 파생하는 메모이제이션 셀렉터 함수를 만드는 TypeScript 라이브러리입니다.

스타
19,005
포크
666
열린 이슈
38
마지막 커밋
어제

어떤 프로젝트인가요?

Reselect는 메모이제이션된 "셀렉터" 함수를 만드는 createSelector를 제공합니다. 상태에서 값을 가져오는 하나 이상의 입력 셀렉터와, 그 값으로 파생 값을 계산하는 결과 함수를 전달하면 됩니다. 출력 셀렉터는 추출한 값이 바뀔 때만 다시 계산하고, 아무것도 바뀌지 않으면 동일한 참조를 반환합니다.

이렇게 하면 Redux에는 최소한의 상태만 저장하고, 파생 데이터는 필요할 때 계산할 수 있습니다. 셀렉터를 조합할 수도 있어 한 셀렉터의 출력값을 다른 셀렉터의 입력값으로 사용할 수 있습니다. Reselect는 Redux Toolkit에 포함되어 있으며, reselect 패키지로 별도 설치할 수도 있습니다.

라이브러리에는 동작을 사용자 지정할 수 있는 weakMapMemoize, lruMemoize, createSelectorCreator 등의 메모이제이션 옵션과, 입력의 안정성 및 항등 함수에 대한 개발 환경 전용 검사 기능이 포함되어 있습니다.

핵심 기능

  • 01입력값이 바뀌지 않으면 다시 계산하지 않는 메모이제이션 셀렉터를 만듭니다.
  • 02다른 셀렉터를 입력으로 사용해 셀렉터를 조합할 수 있습니다.
  • 03안정적인 결과 참조를 반환해 React-Redux와 React의 불필요한 재렌더링을 줄이는 데 도움이 됩니다.
  • 04셀렉터 객체로 셀렉터를 구성하는 createStructuredSelector를 제공합니다.
  • 05createSelectorCreator, lruMemoize, weakMapMemoize를 통해 메모이제이션을 사용자 지정할 수 있습니다.
  • 06불안정한 입력 셀렉터와 항등 결과 함수에 대한 개발 환경 전용 검사를 제공합니다.

활용 사례

  • Redux 상태에 데이터를 중복 저장하지 않고 필터링하거나 집계한 데이터를 파생합니다.
  • 불필요한 재렌더링을 줄이면서 React-Redux를 통해 React 컴포넌트에 props를 전달합니다.
  • 작은 상태 조회를 조합해 더 큰 파생 뷰를 만드는 계층형 셀렉터를 구성합니다.
  • Redux 외부의 일반 JavaScript 불변 데이터에도 메모이제이션된 파생 상태를 적용합니다.

빠른 시작

  1. 1

    npm으로 독립 실행형 패키지를 설치하세요

    npm install reselect
  2. 2

    또는 Reselect가 이미 포함된 Redux Toolkit을 사용하세요(추가 설치가 필요하지 않습니다)

토픽

자주 묻는 질문

reselect은(는) 무엇인가요?
Redux 또는 일반 JavaScript 상태에서 데이터를 파생하는 메모이제이션 셀렉터 함수를 만드는 TypeScript 라이브러리입니다. Reselect는 메모이제이션된 "셀렉터" 함수를 만드는 createSelector를 제공합니다. 상태에서 값을 가져오는 하나 이상의 입력 셀렉터와, 그 값으로 파생 값을 계산하는 결과 함수를 전달하면 됩니다. 출력 셀렉터는 추출한 값이 바뀔 때만 다시 계산하고, 아무것도 바뀌지 않으면 동일한 참조를 반환합니다.
reselect은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
reselect은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
reselect은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. reselect의 마지막 커밋은 2026년 10월 21일입니다.
reselect은(는) 어디에 사용할 수 있나요?
Redux 상태에 데이터를 중복 저장하지 않고 필터링하거나 집계한 데이터를 파생합니다. 불필요한 재렌더링을 줄이면서 React-Redux를 통해 React 컴포넌트에 props를 전달합니다. 작은 상태 조회를 조합해 더 큰 파생 뷰를 만드는 계층형 셀렉터를 구성합니다. Redux 외부의 일반 JavaScript 불변 데이터에도 메모이제이션된 파생 상태를 적용합니다.
reselect는 어떻게 설치하나요?
npm으로 독립 실행형 패키지를 설치하세요: npm install reselect 또는 Reselect가 이미 포함된 Redux Toolkit을 사용하세요(추가 설치가 필요하지 않습니다)
reselect은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/reduxjs/reselect

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트