Menu
Introduzione
Il nuovo menu per tsuite (backoffice e configuratore) permette di salvare all’interno della local storage le informazioni relative ai dati visualizzati nell’interfaccia.
L’idea è quella di abbandonare il componenete <KeepAlive> e di gestire manualmente gli stati dei singoli componenti, con l’obbiettivo finale di aumentare le prestazioni generali dell’applicativo oltre a servire un’esperienza utente confortevole.
Non è consigliato salvare nella local storage alcune informazioni come ad esempio i dati che popolano una <DataGrid>.
E’ utile invece salvare tutti gli stati come filtri, tab selezionate e regole di ordinamento dati.
Nel caso in cui un componente venga montato per la prima volta, il suo stato nel local storage deve essere inizializzato.
React nel momento di render di un componente esegue almeno una volta tutti gli useEffect, di conseguenza nel nostro
useEffect con dipendenze [] impostiamo lo stato isMounted a true dopo il primo render in modo tale da poter gestire lo stato del componente
prima di qualsiasi altra operazione come ad esempio una chiamata ad un api che dipende da altri stati.
Quando si utilizza useManagedTabState per salvare campi di ricerca o campi il cui contenuto cambia molte volte in poco tempo è fondamentare utilizzare useDebounce per limitare i re-render altrimenti l’interfaccia lagga tantissimo