Store API Reference
- Store
- ReadonlyStore
- Atom
- AtomOptions
- BaseAtom
- InternalBaseAtom
- InternalReadonlyAtom
- InteropSubscribable
- Readable
- ReadonlyAtom
- StoreActionsApi
- Subscribable
- Subscription
- AnyAtom
- Observer
- Selection
- StoreAction
- StoreActionMap
- StoreActionsFactory
- batch
- createAsyncAtom
- createAtom
- createStore
- flush
- shallow
- toObserver
- createStoreContext
- useCreateAtom
- useCreateStore
- useSelector
- useSetValue
- useAtom
- useStoreActions
- _useStore (experimental)
- useStore (deprecated)
- UseSelectorOptions
useCreateStore
Call Signature#
function useCreateStore<T>(getValue): ReadonlyStore<T>;Defined in: useCreateStore.ts:38
Creates a stable store instance for the lifetime of the component.
Pass an initial value to create a writable store, or a getter function to create a readonly derived store. This mirrors createStore, but only creates the store once per component mount.
Type Parameters#
T#
T
Parameters#
getValue#
(prev?) => T
Returns#
ReadonlyStore<T>
Example#
function Counter() {
const counterStore = useCreateStore({ count: 0 })
const count = useSelector(counterStore, (state) => state.count)
const setState = useSetValue(counterStore)
return (
<button
type="button"
onClick={() => setState((state) => ({ ...state, count: state.count + 1 }))}
>
{count}
</button>
)
}Call Signature#
function useCreateStore<T>(initialValue): Store<T>;Defined in: useCreateStore.ts:41
Creates a stable store instance for the lifetime of the component.
Pass an initial value to create a writable store, or a getter function to create a readonly derived store. This mirrors createStore, but only creates the store once per component mount.
Type Parameters#
T#
T
Parameters#
initialValue#
T
Returns#
Store<T>
Example#
function Counter() {
const counterStore = useCreateStore({ count: 0 })
const count = useSelector(counterStore, (state) => state.count)
const setState = useSetValue(counterStore)
return (
<button
type="button"
onClick={() => setState((state) => ({ ...state, count: state.count + 1 }))}
>
{count}
</button>
)
}Call Signature#
function useCreateStore<T, TActions>(initialValue, actions): Store<T, TActions>;Defined in: useCreateStore.ts:42
Creates a stable store instance for the lifetime of the component.
Pass an initial value to create a writable store, or a getter function to create a readonly derived store. This mirrors createStore, but only creates the store once per component mount.
Type Parameters#
T#
T
TActions#
TActions extends StoreActionMap
Parameters#
initialValue#
NonFunction<T>
actions#
StoreActionsFactory<T, TActions>
Returns#
Store<T, TActions>
Example#
function Counter() {
const counterStore = useCreateStore({ count: 0 })
const count = useSelector(counterStore, (state) => state.count)
const setState = useSetValue(counterStore)
return (
<button
type="button"
onClick={() => setState((state) => ({ ...state, count: state.count + 1 }))}
>
{count}
</button>
)
}