use-persisted-reducer
Version:
A custom React Hook that persist state from useReducer
13 lines (9 loc) • 346 B
JavaScript
import React, { useEffect } from 'react';
const usePersistedReducer = (reducer, initialState, init, key, storage) => {
const [state, dispatch] = React.useReducer(reducer, storage.get(key, initialState), init);
useEffect(() => {
storage.set(key, state);
}, [state]);
return [state, dispatch];
};
export default usePersistedReducer;