UNPKG

use-persisted-reducer

Version:

A custom React Hook that persist state from useReducer

2 lines (1 loc) 517 B
var e,t=require("react"),n=(e=t)&&"object"==typeof e&&"default"in e?e.default:e;module.exports=function(e,r){if(void 0===r&&(r=globalThis.localStorage),r){var u=function(e){return{get:function(t,n){var r=e.getItem(t);return null===r?"function"==typeof n?n():n:JSON.parse(r)},set:function(t,n){e.setItem(t,JSON.stringify(n))}}}(r);return function(r,o,f){return function(e,r,u,o,f){var i=n.useReducer(e,f.get(o,r),u),c=i[0],a=i[1];return t.useEffect(function(){f.set(o,c)},[c]),[c,a]}(r,o,f,e,u)}}return t.useReducer};