기존의 상태관리 라이브러리인 Redux는 제공하는 기능과 연계된 미들웨어 등 매우 강력한 퍼포먼스를 자랑하지만, 설정과 사용법이 복잡함
Zustand는 상태관리 본연의 기능에 집중하여 위와 같은 복잡성을 줄이고, 보다 간단하고 직관적인 상태관리 기능을 제공함
매우 간단한 API를 제공
매우 적은 설정 코드 및 적용 코드를 이용하여 상태관리 기능을 구현 가능
불필요한 리렌더링을 방지하는 등, 성능 최적화가 잘 되어 있다
Zustand는 상태가 변경될 때, 해당 상태를 구독(상태의 변경을 감지하고, 해당 변경에 반응하는 컴포넌트만 업데이트하는 메커니즘)하고 있는 컴포넌트만 리렌더링해요.
상태의 일부가 변경되었을 때 그 상태를 사용하는 컴포넌트만 업데이트되므로, 애플리케이션 전체가 리렌더링되지 않는다
yarn add zustand