API Reference
useStore
React selector hook signature and equality behavior.
function useStore<TState, TSelected = NoInfer<TState>>(
store: NusmStore<TState>,
selector?: (state: NoInfer<TState>) => TSelected,
options?: UseStoreOptions,
): TSelectedImport it from the React-specific entry point:
import { useStore } from "nusm/react"Options
Prop
Type
Parameters
| Parameter | Required | Description |
|---|---|---|
store | Yes | A store returned by createNusmStore |
selector | No | Maps full state to the value the component needs; defaults to identity |
options.equal | No | false uses shallow equality; true uses deep equality |
Examples
const count = useStore(counterStore, (state) => state.count)
const fullState = useStore(counterStore)
const profile = useStore(userStore, (state) => state.profile, {
equal: true,
})The hook uses React's useSyncExternalStore and preserves the previous selected reference when the configured equality function considers the next selection equal.
Package boundary
The root nusm entry does not import React. Applications that do not use React can stay entirely on the core entry point.