프로젝트 소개
Zustand는 React 애플리케이션을 위한 경량 상태 관리 솔루션입니다. Redux와 같은 라이브러리에 종종 동반되는 보일러플레이트를 피하는 훅 기반 API를 사용합니다.
핵심 개념은 create 함수를 통해 store를 생성하는 것으로, 이 함수는 사용자 정의 React 훅을 반환합니다. 상태에는 기본형, 객체 또는 함수를 포함할 수 있으며, 업데이트는 set 함수를 통해 불변 방식으로 수행되어야 합니다. 컴포넌트는 store의 특정 부분만 선택하여 상태를 소비하며, 선택된 값이 엄격한 동등성 비교로 변경될 때만 재렌더링됩니다.
주요 기능:
- 애플리케이션 전체를 Provider 래퍼로 감쌀 필요 없음
- persist(저장), immer(가변적 업데이트), devtools(디버깅) 등 미들웨어 내장 지원
- zustand/vanilla를 통해 비React 사례용 바닐라 store 모드 제공
- subscribe 함수를 통한 비반응형 상태 접근 및 리스너 지원
- useShallow 헬퍼는 여러 상태 조각을 선택할 때 불필요한 재렌더링 방지
- 세밀한 컴포넌트 업데이트 제어를 위한 커스텀 동등성 함수 제공 가능
본 라이브러리는 Zombie Child 상황에서 구버전 props, React 동시성 문제, 혼합 렌더러 간 컨텍스트 손실 등 일반적인 React 상태 관리 문제를 해결합니다. 코드를 슬라이스를 통해 조직하기 위한 실용적 패턴을 제공하면서도 비강제적(unopinionated)으로 설계되었습니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.