State
/ API Reference / Middleware
State
/ API Reference / Middleware

persistence

A middleware for persisting state to storage (localStorage, sessionStorage, or custom storage).

Arguments

ArgumentTypeDescription
keystringThe key to use for storing the state
getStorageFunctionA function that returns the storage object (localStorage, sessionStorage, etc.)
actionsArray<string>?Optional array of action names to persist. If not provided, all actions are persisted.
onHydratedFunction?Optional callback function called when state is hydrated from storage
encodeFunction?Optional function to encode data before storing (default: JSON.stringify)
decodeFunction?Optional function to decode data after retrieving (default: JSON.parse)

Returns

(Middleware) A middleware object that can be passed to useStoreWithMiddleware or useOptimisticStoreWithMiddleware.

Example

import { useStoreWithMiddleware, persistence } from '@weser/state'

const useStore = useStoreWithMiddleware([
  persistence({
    key: 'my-app-state',
    getStorage: () => localStorage,
  }),
])
On this page