use-local-slice
Version:
A react hook to use reducers for local state in a typesafe way, with an API like createSlice from redux-starter-kit and immer integration.
3 lines (2 loc) • 546 B
JavaScript
var e,r=require("react"),t=(e=require("immer"))&&"object"==typeof e&&"default"in e?e.default:e;exports.useLocalSlice=function(e){var u=e.initialState,n=e.reducers,i=e.slice;void 0===i&&(i="unnamed"),r.useDebugValue(i);var a=r.useReducer(function(e,r){return t(e,function(e){return n[r.type](e,r)})},u),c=a[0],o=a[1],f=Object.keys(n);return[c,r.useMemo(function(){for(var e={},r=function(){var r=u[t];e[r]=function(e){return o({type:r,payload:e})}},t=0,u=f;t<u.length;t+=1)r();return e},[o,JSON.stringify(f)])]};
//# sourceMappingURL=index.js.map