Persistence plugin for @zignal/core signal stores. Adds localStorage/sessionStorage support to your state.
npm install @zignal/core
npm install @zignal/persist
# or
yarn add @zignal/core
yarn add @zignal/persist
# or
pnpm add @zignal/core
pnpm add @zignal/persist
You must also install
@zignal/core
.
import { createZignal } from '@zignal/core';
import { write } from '@zignal/persist';
const useCounter = createZignal(0); // non-persistent
const usePersistentCounter = write(createZignal(0), { key: 'counter', storage: 'localStorage' });
function Counter() {
const [count, setCount] = useCounter();
// ...
}
function PersistentCounter() {
const [count, setCount] = usePersistentCounter();
// ...
}
Wraps a signal store hook to persist its value to localStorage or sessionStorage.
hook
: The hook returned bycreateZignal
.options.key
: Storage key (string, optional).options.storage
:'localStorage'
(default) or'sessionStorage'
.
Removes all (or one) persisted zignal keys from storage.
MIT License.