API Reference
@hua-labs/state
v1.0.0-alpha
Zustand 기반 상태 관리. SSR 지원, persist 미들웨어 포함.
Installation
pnpm add @hua-labs/stateMain Exports
import {
// Store creators
createHuaStore, // Create typed store
createPersistedStore, // Store with localStorage persist
// SSR utilities
createSSRStore, // SSR-safe store
useHydration, // Hydration hook
// Middleware
withPersist, // Persist middleware
withDevtools, // Redux devtools
// Types
type StoreApi,
type StateCreator,
} from '@hua-labs/state';Basic Usage
import { createHuaStore } from '@hua-labs/state';
interface CounterState {
count: number;
increment: () => void;
decrement: () => void;
}
const useCounterStore = createHuaStore<CounterState>((set) => ({
count: 0,
increment: () => set((state) => ({ count: state.count + 1 })),
decrement: () => set((state) => ({ count: state.count - 1 })),
}));
// In component
function Counter() {
const { count, increment } = useCounterStore();
return <button onClick={increment}>{count}</button>;
}Persisted Store
import { createPersistedStore } from '@hua-labs/state';
const useSettingsStore = createPersistedStore<SettingsState>(
(set) => ({
theme: 'light',
setTheme: (theme) => set({ theme }),
}),
{
name: 'settings-storage', // localStorage key
partialize: (state) => ({ theme: state.theme }), // Only persist theme
}
);SSR Support
import { createSSRStore, useHydration } from '@hua-labs/state';
const useStore = createSSRStore<State>((set) => ({
// ...
}));
function App() {
const isHydrated = useHydration(useStore);
if (!isHydrated) return <Loading />;
return <Content />;
}Features
- Zustand 기반 - 간단하고 빠른 상태 관리
- SSR Safe - 서버 렌더링 호환
- Persist - localStorage/sessionStorage 지원
- DevTools - Redux DevTools 연동
- TypeScript - 완전한 타입 추론
상세 API 문서는 별도 문서 사이트에서 제공 예정.