Store Docs
API Reference
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
AI/LLM: This documentation page is available in plain markdown format at/store/latest/docs/framework/preact/reference/functions/useCreateAtom.md
Store API Reference
useCreateAtom
Call Signature#
ts
function useCreateAtom<T>(getValue, options?): ReadonlyAtom<T>;Defined in: useCreateAtom.ts:27
Creates a stable atom instance for the lifetime of the component.
Pass an initial value to create a writable atom, or a getter function to create a readonly derived atom. This mirrors createAtom, but only creates the atom once per component mount.
Type Parameters#
T#
T
Parameters#
getValue#
(prev?) => T
options?#
AtomOptions<T>
Returns#
ReadonlyAtom<T>
Example#
tsx
function Counter() {
const countAtom = useCreateAtom(0)
const [count, setCount] = useAtom(countAtom)
return (
<button type="button" onClick={() => setCount((prev) => prev + 1)}>
{count}
</button>
)
}Call Signature#
ts
function useCreateAtom<T>(initialValue, options?): Atom<T>;Defined in: useCreateAtom.ts:31
Creates a stable atom instance for the lifetime of the component.
Pass an initial value to create a writable atom, or a getter function to create a readonly derived atom. This mirrors createAtom, but only creates the atom once per component mount.
Type Parameters#
T#
T
Parameters#
initialValue#
T
options?#
AtomOptions<T>
Returns#
Atom<T>
Example#
tsx
function Counter() {
const countAtom = useCreateAtom(0)
const [count, setCount] = useAtom(countAtom)
return (
<button type="button" onClick={() => setCount((prev) => prev + 1)}>
{count}
</button>
)
}