Redux와 비슷한 상태 관리 라이브러리로, Redux Toolkit처럼 상태와 액션을 관리하는 데 도움을 줌.
Redux보다 간단하고 직관적인 API를 제공하여 상태 관리를 더 편리하게 할 수 있도록 설계되어있다.
Zustand는 상태를 중심으로 하는 간단한 구조를 가지고 있으며, Redux의 보일러플레이트 코드를 줄여줌
1.상태와 액션 정의
import create from 'zustand';
const useStore = create((set) => ({
count: 0,
increment: () => set((state) => ({ count: state.count + 1 })),
decrement: () => set((state) => ({ count: state.count - 1 })),
}));
import React from 'react';
import { useStore } from './useStore';
function CounterComponent() {
const { count, increment, decrement } = useStore();
return (
<div>
<p>Count: {count}</p>
<button onClick={increment}>Increment</button>
<button onClick={decrement}>Decrement</button>
</div>
);
}
Zustand에서는 Redux와 비슷한 개념인 "상태"와 "액션"을 사용하지만, 보다 간단한 방식으로 이를 다룰 수 있습니다. 또한 Zustand는 React의 내장 Context API를 기반으로 작동하기 때문에 별도의 프로바이더 컴포넌트를 설정할 필요가 없습니다.
Redux에 비해 Zustand는 컴포넌트 간의 상태 공유를 간소화하고, 상태와 액션을 함께 다루는 코드를 더 간결하게 만들어줍니다.