Overview
해당 문서는 zustand 를 이용한 전역 상태관리, 로컬 상태 관리, 스토리지 관리에 대한 간단한 사용법을 다루며, 나아가 똑똑한개발자가 제공하는 middleware 를 포함한 모듈들을 소개합니다.
Zustand
zustand 는 상태관리 라이브러리입니다. 가볍고, 간단하며, react 뿐 아니라 다른 vanilla js 환경에서도 사용할 수 있는 호환성이 좋은 모듈입니다. zustand 의 기본적인 사용법은 여기를 확인해보세요.
Zustand Middleware: With Setter
zustand-with-setter 는 똑똑한개발자가 제공하는 zustand middleware
로, Zustand 스토어에 set
및 reset
함수를 추가하여 상태를 업데이트하고 초기화하는 기능을 제공합니다.
자세한 내용은 여기를 확인해보세요.
import { withSetter } from '@toktokhan-dev/react'
import { create } from 'zustand'
type Store = {
count: number
nested: { count: number; list?: string[] }
}
const useStore = create(
withSetter<Store>(() => ({
count: 0,
nested: { count: 0 },
})),
)
const set = useStore((store) => store.set)
set({ count: 5, nested: { count: 5, } })
set('count', 5)
set('count', (prev) => prev + 1))
set('nested.count', 5)
const reset = useStore((store) => store.reset)
reset()
reset('count')
reset({ count: 5 })