useReducer hook with persistence in storage
npm install use-reducer-persisteduse-reducer-persisted, you must use react@16.8.0 or greater which includes Hooks.
javascript
import useReducerPersisted from 'use-reducer-persisted';
`
And then easily use it like useReducer , Just some more arguments :smile:
`javascript
const [state, dispatch] = useReducerPersisted(key, reducer, init, storage, options);
`
*key :* your storage key like "userInfo" ( Required )
*reducer :* your reducer ( Required )
*init :* your initial state as value or callback function
*storage :* specify storage type as string ( "local" for localStorage, "session" for sessionStorage , "cookie" for cookie )
options : all options for your cookie and syncing time interval for cookie :
- step : interval time in milisecond for syncing state from cookie on other tab/window
- other option of cookie based on "universal-cookie"
Example
`javascript
import useReducerPersisted from 'use-reducer-persisted';
import reducer from './path/to/yourReducer';
function Counter() {
const [state, dispatch] = useReducerPersisted('counter', reducer, initialState);
return (
<>
Count: {state.count}
>
);
}
``