useStore
useStore is Alveron's main API.
It uses React's useState under the hood.
If an updated model
is passed in, the store will reset to the new model.
Arguments
Argument | Type | Description |
---|---|---|
actions | Object? | A map of actions where the key represents the action name and the value represents the action reducer |
model | any? | Our store model reflecting the initial state shape |
Returns
(Array) an array containing the state and actions to be used inside a React component.
Example
import * as React from 'react'import { useStore } from 'alveron'
const model = 0const actions = { increment: (prevState) => [prevState + 1], decrement: (prevState) => [prevState - 1],}
function Counter() { const [state, { increment, decrement }] = useStore(actions, model)
return ( <div> Count: {state} <button onClick={increment}>+</button> <button onClick={decrement}>-</button> </div> )}