Function: createStoreContext()
createStoreContext<
T>(displayName):object
Create a Context-based Zustand store pattern.
Returns Provider, useStore hook, and useApi hook — eliminates module-level singleton boilerplate (Turbopack duplication bug).
Type Parameters
T
T
Parameters
displayName
string
Returns
object
Provider
Provider: {(
__namedParameters):FunctionComponentElement<ProviderProps<StoreApi<T> |null>>;displayName:string; }
Parameters
__namedParameters
children
ReactNode
store
StoreApi<T>
Returns
FunctionComponentElement<ProviderProps<StoreApi<T> | null>>
Provider.displayName
displayName:
string
useApi
useApi: () =>
StoreApi<T>
Returns
StoreApi<T>
useStore
readonlyuseStore: {():T; <U>(selector):U; } =useStoreHook
Call Signature
():
T
Returns
T
Call Signature
<
U>(selector):U
Type Parameters
U
U
Parameters
selector
(s) => U
Returns
U
Example
const { Provider: CartProvider, useStore: useCartStore, useApi: useCartStoreApi } =
createStoreContext<CartState>('CartStore');
// In layout:
const cartStore = useRef(createCartStore());
<CartProvider store={cartStore.current}>{children}</CartProvider>
// In components:
const isOpen = useCartStore((s) => s.isOpen);
const api = useCartStoreApi(); // for .getState() in callbacks