import { useEffect } from 'react'; const DEFAULT_STATE_KEY = 'state'; export const usePersistedContext = (context, key = DEFAULT_STATE_KEY) => { const persistedContext = localStorage.getItem(key); return persistedContext ? JSON.parse(persistedContext) : context; }; export const usePersistedReducer = ([state, dispatch], key = DEFAULT_STATE_KEY) => { useEffect( () => localStorage.setItem(key, JSON.stringify(state)), [state], ); return [state, dispatch]; };