pnpm/npm으로 Zustand 설치하는 법
Zustand는 React 상태 관리 라이브러리 중에서 가장 가볍고 직관적인 녀석이다. Redux처럼 보일러플레이트 지옥에 빠질 일도 없고, 설정도 거의 없다. 이 글에서는 pnpm과 npm으로 Zustand를 설치하는 방법을 정리한다.
설치
npm
Bash
npm install zustand
pnpm
Bash
pnpm add zustand
끝이다. 진짜 이게 전부다.
TypeScript 지원
Zustand는 타입 정의가 패키지에 내장되어 있어서 @types/zustand 같은 걸 따로 설치할 필요가 없다. TypeScript 프로젝트에서 그냥 바로 쓰면 된다.
기본 사용법
설치가 됐으면 간단하게 스토어 하나 만들어보자.
TYPESCRIPT
import { create } from 'zustand';
interface CounterState {
count: number;
increment: () => void;
decrement: () => void;
}
const useCounterStore = create<CounterState>((set) => ({
count: 0,
increment: () => set((state) => ({ count: state.count + 1 })),
decrement: () => set((state) => ({ count: state.count - 1 })),
}));
컴포넌트에서는 이렇게 쓴다.
React + TS
function Counter() {
const { count, increment, decrement } = useCounterStore();
return (
<div>
<p>{count}</p>
<button onClick={increment}>+</button>
<button onClick={decrement}>-</button>
</div>
);
}
Provider로 감쌀 필요도 없고, 그냥 훅 호출하면 끝이다.
자주 같이 쓰는 미들웨어
Zustand에는 유용한 미들웨어가 몇 가지 내장되어 있다.
Bash
# 별도 설치 필요 없음 — zustand 패키지에 포함
persist— 상태를 localStorage 등에 자동 저장/복원devtools— Redux DevTools 연동immer— immer 미들웨어 (immer는 별도 설치 필요)
immer 미들웨어를 쓰려면 immer만 추가로 설치하면 된다.
Bash
# npm
npm install immer
# pnpm
pnpm add immer
버전 확인
설치 후 버전 확인은 이렇게 한다.
Bash
# npm
npm list zustand
# pnpm
pnpm list zustand
정리
| 항목 | 내용 |
|---|---|
| 패키지명 | zustand |
| npm 설치 | npm install zustand |
| pnpm 설치 | pnpm add zustand |
| TypeScript | 내장 지원 (별도 타입 패키지 불필요) |
| 번들 크기 | ~1KB (gzipped) |
Zustand는 작고, 빠르고, 쓰기 편하다. 복잡한 설정 없이 바로 상태 관리를 시작하고 싶다면 최고의 선택이다.