React를 비롯한 모든 뷰 라이브러리에서 사용할 수 있는 예측 가능하고 유지보수하기 쉬운 전역 상태 관리 JavaScript 라이브러리입니다.
immerjs/immer
현재 상태의 초안을 변경해 불변 상태 업데이트를 작성할 수 있는 JavaScript 라이브러리입니다.
- 스타
- 28,988
- 포크
- 901
- 열린 이슈
- 46
- 마지막 커밋
- 14시간 전
어떤 프로젝트인가요?
Immer를 사용하면 일반적인 변경 코드로 불변 상태를 업데이트할 수 있습니다. 현재 상태의 초안 프록시를 변경하면 Immer가 원본은 그대로 둔 채 새로운 불변 상태 트리를 만듭니다. 상태를 업데이트할 때 중첩된 객체와 배열을 일일이 복사할 필요가 없습니다.
이 라이브러리는 불변 업데이트가 필요한 Redux 리듀서와 기타 상태 관리 코드에서 흔히 사용됩니다. API의 중심에는 기본 상태와 recipe 함수를 받는 produce 함수가 있으며, npm 패키지 immer로 배포됩니다. 문서는 프로젝트 웹사이트에서 확인할 수 있습니다.
핵심 기능
- 01객체를 일일이 복사하는 대신 초안을 변경해 상태 업데이트를 작성합니다.
- 02원래 상태는 변경하지 않고 새로운 불변 상태를 생성합니다.
- 03핵심 API는 기본 상태와 recipe를 받는 produce 함수입니다.
- 04npm 패키지 immer로 배포됩니다.
활용 사례
- Redux 리듀서의 불변 업데이트를 간소화합니다.
- React 또는 다른 UI 애플리케이션에서 깊이 중첩된 상태를 업데이트합니다.
- 불변 스냅샷을 활용해 실행 취소 기록이나 변경 사항 추적이 필요한 상태 로직을 작성합니다.
빠른 시작
- 1
설치 방법은 immerjs.github.io/immer의 문서를 참조하세요
- 2
기여하려면 Gitpod에서 프로젝트를 여세요. 종속 항목 설치와 yarn run start 실행이 자동으로 진행됩니다
토픽
자주 묻는 질문
- immer은(는) 무엇인가요?
- 현재 상태의 초안을 변경해 불변 상태 업데이트를 작성할 수 있는 JavaScript 라이브러리입니다. Immer를 사용하면 일반적인 변경 코드로 불변 상태를 업데이트할 수 있습니다. 현재 상태의 초안 프록시를 변경하면 Immer가 원본은 그대로 둔 채 새로운 불변 상태 트리를 만듭니다. 상태를 업데이트할 때 중첩된 객체와 배열을 일일이 복사할 필요가 없습니다.
- immer은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- immer은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- immer은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. immer의 마지막 커밋은 2026년 10월 21일입니다.
- immer은(는) 어디에 사용할 수 있나요?
- Redux 리듀서의 불변 업데이트를 간소화합니다. React 또는 다른 UI 애플리케이션에서 깊이 중첩된 상태를 업데이트합니다. 불변 스냅샷을 활용해 실행 취소 기록이나 변경 사항 추적이 필요한 상태 로직을 작성합니다.
- immer는 어떻게 설치하나요?
- 설치 방법은 immerjs.github.io/immer의 문서를 참조하세요 기여하려면 Gitpod에서 프로젝트를 여세요. 종속 항목 설치와 yarn run start 실행이 자동으로 진행됩니다
- immer은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/immerjs/immer
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
Provider 없이 사용할 수 있는 React용 경량 훅 기반 상태 관리 라이브러리입니다.
hooks와 Provider를 통해 Redux store를 React 컴포넌트에 연결하는 공식 React 바인딩입니다.
Redux 또는 일반 JavaScript 상태에서 데이터를 파생하는 메모이제이션 셀렉터 함수를 만드는 TypeScript 라이브러리입니다.
앱 시작 시 저장소에서 상태를 복원하고, Redux 스토어 상태를 저장하는 미들웨어 스타일 라이브러리입니다.
React 및 React Native 앱의 상태, 네트워크 요청, 로그, 오류를 확인할 수 있는 데스크톱 디버거입니다.