@acoolhq/react-tiny-store / createStoreSlice
Function: createStoreSlice()
createStoreSlice<
T,S,FNS>(store,select,fns): () =>object
Defined in: hooks.ts:168
Create a slice hook bound to a store; actions are pure (no side effects) and must return the next root state.
Type Parameters
T
T
Root state.
S
S
Selected slice.
FNS
FNS extends RootFns<T>
Pure updater map (root, ...args) => nextRoot.
Parameters
store
Store<T>
The external store.
select
(root) => S
(root) => slice used for state and get().
fns
FNS
Pure updaters; each must return a new root (T).
Returns
useSlice(): { state, get, actions } where actions[key](...args): void
():
object
Returns
object
actions
actions:
Bound<FNS>
get()
get: () =>
S
Returns
S
state
state:
S
Example
ts
const useTodos = createStoreSlice(store, s => s.todos, {
add(root, text: string) {
return { ...root, todos: [...root.todos, { id: crypto.randomUUID(), text }] };
}
});