pnpm으로 Zustand 설치 및 빠른 시작 가이드
(수정됨: 2026년 3월 10일)
Zustand는 Redux보다 가볍고 Context API보다 사용법이 간단한 상태 관리 라이브러리입니다. pnpm을 사용하여 프로젝트에 Zustand를 적용하는 단계를 정리했습니다.
1. pnpm으로 패키지 설치
터미널에서 프로젝트 루트 경로로 이동한 뒤 아래 명령어를 실행하여 설치합니다.
Bash
pnpm add zustand
2. Store 생성하기
Zustand는 create 함수를 통해 스토어를 정의합니다. 별도의 Provider 설정 없이 바로 사용할 수 있는 것이 특징입니다.
TYPESCRIPT
import { create } from 'zustand'
// 상태(State)와 액션(Action)의 타입을 정의합니다.
interface CounterState {
count: number
increment: () => void
decrement: () => void
}
// 스토어를 생성하고 내보냅니다.
export const useCounterStore = create<CounterState>((set) => ({
count: 0,
increment: () => set((state) => ({ count: state.count + 1 })),
decrement: () => set((state) => ({ count: state.count - 1 })),
}))
3. 컴포넌트에서 사용하기
컴포넌트 내에서 생성한 스토어를 Hook처럼 호출합니다. 필요한 데이터만 선택(Select)하여 사용하면 최적화에 도움이 됩니다.
React + TS
import { useCounterStore } from './store'
function CounterComponent() {
// 특정 상태와 함수를 가져옵니다.
const count = useCounterStore((state) => state.count)
const { increment, decrement } = useCounterStore()
return (
<div>
<h1>값: {count}</h1>
<button onClick={increment}>증가</button>
<button onClick={decrement}>감소</button>
</div>
)
}
4. 핵심 요약
- Zero Config: 별도의 Context Provider나 환경 설정이 필요 없습니다.
- Simple API:
set함수를 통해 상태를 변경하고, 컴포넌트에서는 Hook으로 불러옵니다. - pnpm 효율: pnpm의 엄격한 의존성 관리 하에서도 가볍고 빠르게 동작합니다.