UNPKG

use-persisted-reducer

Version:

A custom React Hook that persist state from useReducer

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