RTK Persist - JS Library
Una libreria leggera e senza dipendenze che potenzia
la gestione dello stato di Redux Toolkit.
La persistenza del tuo stato, secondo le tue regole.
Una libreria leggera e senza dipendenze che potenzia la gestione dello stato di Redux Toolkit aggiungendo uno storage persistente e integrato in modo trasparente.
Il Progetto
rtk-persist nasce dalle nostre esperienze quotidiane nello sviluppo di applicazioni web e mobile moderne in Fancy Pixel. Avevamo bisogno di un modo semplice e potente per aggiungere la persistenza dello stato alle nostre applicazioni Redux Toolkit, senza aggiungere pesanti dipendenze o configurazioni complesse. Il risultato è una libreria leggera e a zero dipendenze che si integra perfettamente nel flusso di lavoro esistente.
La libreria funziona "avvolgendo" le funzioni standard di Redux Toolkit, aggiungendo la logica di persistenza senza cambiare il modo in cui si scrivono i reducer o le action. Questo rende incredibilmente facile aggiungere o rimuovere la persistenza, spesso semplicemente cambiando una riga di import.
Con il rilascio della versione 2.0, abbiamo introdotto la reidratazione asincrona, che assicura che l'applicazione venga renderizzata solo dopo che lo stato è stato completamente ripristinato dallo storage, evitando sfarfallii dell'interfaccia utente. Abbiamo anche aggiunto un componente dedicato per un'integrazione perfetta con le applicazioni React.
Funzionalità Principali
- Persistenza Semplice: Rendi persistente qualsiasi "slice" o "reducer" di Redux Toolkit con una configurazione minima.
- Reidratazione Asincrona: La creazione dello store è ora asincrona, garantendo che la tua app venga renderizzata solo dopo che lo stato è stato completamente reidratato.
- Integrazione Trasparente: Progettato come un sostituto immediato per le funzioni di RTK. Aggiungere o rimuovere la persistenza è semplice come cambiare un import.
- Integrazione con React Redux: Include un componente
e un hook usePersistedStore per una facile integrazione con le applicazioni React. - API Flessibile: Scegli tra l'utility createPersistedSlice o la sintassi builder di createPersistedReducer.
- Supporto per State Annidato: Rendi facilmente persistenti slice o reducer profondamente annidati nel tuo state radice usando una semplice opzione nestedPath.
- Serializzazione Personalizzata: Usa onPersist e onRehydrate per trasformare il tuo stato prima di salvarlo e dopo averlo caricato.
- Agnostico allo Storage: Funziona con qualsiasi provider di storage che implementi una semplice interfaccia getItem, setItem e removeItem.
- Supporto TypeScript: Completamente tipizzato per garantire un'ottima esperienza di sviluppo con validazione dei percorsi.
- Impatto Minimo: Estremamente leggero con una dimensione in produzione inferiore a 15 KB.
Stack Tecnologico
Typescript