react-split-pane
Version:
React split-pane component with hooks and TypeScript
3 lines (2 loc) • 468 B
JavaScript
import{useState as t,useEffect as e}from"react";function r(r){const{key:n,storage:o=localStorage,debounce:c=300}=r,[s,a]=t(()=>{try{const t=o.getItem(n);return t?JSON.parse(t):[]}catch{return[]}});return e(()=>{if(0===s.length)return;const t=setTimeout(()=>{try{o.setItem(n,JSON.stringify(s))}catch(t){console.warn("Failed to persist pane sizes:",t)}},c);return()=>clearTimeout(t)},[s,n,o,c]),[s,a]}export{r as usePersistence};
//# sourceMappingURL=persistence.js.map