@ez-kit/zu-store
v0.3.0
Published
A reusable utility package for ez-kit.
Readme
@ez-kit/zu-store
Zustand utilities for React — context-scoped stores and ergonomic field bindings.
Install
pnpm add @ez-kit/zu-store zustandAPI
createContextStore(factory)
Wraps a Zustand store in React context. Returns Provider, useStore, useShallowStore, useContextStore, and Item. Multiple Provider instances are fully independent.
const counterStore = createContextStore(({ count = 0 }: { count?: number }) =>
createStore<{ count: number; increment: () => void }>()((set) => ({
count,
increment: () => set((s) => ({ count: s.count + 1 })),
})),
)
<counterStore.Provider count={10}>
<MyComponent />
</counterStore.Provider>
// inside MyComponent:
const count = counterStore.useStore((s) => s.count)useStoreState(store, key)
Binds a single store field to a [value, setValue] tuple — like useState backed by Zustand. Re-renders only when that field changes.
const [name, setName] = useStoreState(formStore, 'name')