UNPKG

react-localstorage-hooks

Version:

A collection of React hooks for reactively managing localStorage

20 lines (19 loc) 856 B
import { __assign } from "tslib"; import { useCallback } from 'react'; import useLocalStorageState from '../useLocalStorageState/useLocalStorageState'; ; /** * An alternative hook to `useLocalStorageState` for managing complex state. * * @param key key for localStorage * @param reducer reducer method that returns new state * @param opts Options object * @returns a pair of current state and dispatch method to dispatch actions */ function useLocalStorageReducer(key, reducer, opts) { var options = __assign({ initialState: undefined, sync: true }, opts); var _a = useLocalStorageState(key, options), state = _a[0], setState = _a[1]; var dispatch = useCallback(function (action) { return setState(function (prev) { return reducer(prev, action); }); }, [setState]); return [state, dispatch]; } export default useLocalStorageReducer;