Skip to content
API Reference

@hua-labs/state

v1.0.0-alpha

Zustand 기반 상태 관리. SSR 지원, persist 미들웨어 포함.

Installation

pnpm add @hua-labs/state

Main 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 문서는 별도 문서 사이트에서 제공 예정.