Come utilizzare Redux DevTools per il debug di applicazioni React

Prova Il Nostro Strumento Per Eliminare I Problemi

COME Reagire le applicazioni diventano sempre più complesse, il debug dei problemi relativi allo stato dell'applicazione può diventare sempre più difficile. Strumenti di sviluppo Redux è uno strumento prezioso che consente agli sviluppatori React di visualizzare ed eseguire il debug delle modifiche allo stato del negozio Redux nelle loro applicazioni.

In questa guida completa imparerai:

  • Cos'è Redux DevTools e come funziona
  • Come installare e configurare Redux DevTools
  • Utilizzo delle funzionalità di DevTools come il monitoraggio dello stato, la riproduzione delle azioni e il debug del viaggio nel tempo
  • Personalizzazione e miglioramento di DevTools per il flusso di lavoro di debug
  • Best practice per sfruttare Redux DevTools per correggere bug e ottimizzare le prestazioni

Segui gli esempi in questa guida per diventare un professionista nello sfruttare la potenza di Redux DevTools per eseguire il debug anche delle app React e Redux più complesse.

Cosa sono gli strumenti di sviluppo Redux

Strumenti di sviluppo Redux è una piattaforma di debug per app che utilizzano la gestione dello stato Redux. Ti permette di:

  • Esamina i valori dello stato del negozio Redux
  • Osserva i cambiamenti di stato nel tempo con la registrazione delle azioni
  • Eseguire il debug dei problemi 'viaggiando nel tempo' negli stati passati
  • Riprodurre le azioni del riduttore registrate

DevTools fornisce una posizione centralizzata per monitorare il modo in cui lo stato dell'app React cambia in risposta alle azioni. Queste informazioni semplificano la comprensione di comportamenti complessi, l'individuazione di bug e l'ottimizzazione delle prestazioni.

Come funziona Redux DevTools

Sotto il cofano, Redux DevTools strumenta il tuo negozio Redux per tenere traccia di ogni volta che un'azione viene inviata. Registra il modo in cui lo stato cambia nel tempo in modo da poter riavvolgere la cronologia e 'viaggiare nel tempo' negli stati precedenti dell'app.

L'interfaccia utente di DevTools consente quindi di visualizzare questa cronologia, ispezionare gli stati ed eseguire il debug dei problemi utilizzando i dati registrati. Si connette al tuo negozio tramite un'estensione del browser anziché modificare direttamente il comportamento di Redux.

Successivamente, esaminiamo come configurare Redux DevTools in modo da poter iniziare a utilizzarlo per eseguire il debug delle app React.

Installazione di Redux DevTools

Redux DevTools è disponibile in due parti principali: l'interfaccia utente di DevTools e i collegamenti Redux.

Interfaccia utente di DevTools

L'interfaccia utente di DevTools è disponibile come estensione del browser. Installa una di queste estensioni per accedere al pannello di debug di React negli strumenti di sviluppo del tuo browser:

  • Strumenti per sviluppatori React - Estensione Chrome e Firefox con profilazione combinata React e Redux
  • Estensione Redux DevTools - Estensione autonoma per Chrome, Firefox ed Edge

Attacchi Redux

I collegamenti Redux consentono la comunicazione tra l'estensione del browser DevTools e lo store Redux dell'applicazione React. Installa |_+_| pacchetto npm:

|_+_|

Ora Redux DevTools può integrarsi con il tuo negozio. Devi solo completare la configurazione.

Configurazione di base

Per abilitare l'integrazione di Redux DevTools, è necessario comporre lo store utilizzando |_+_| funzione da |_+_|. Ecco una tipica configurazione del negozio con DevTools abilitato:

|_+_|

Il |_+_| il wrapper gestisce la connessione dello store all'interfaccia utente DevTools dell'estensione del browser.

Ora, quando la tua app React inizializza lo store, DevTools lo rileverà e si integrerà con esso. Dovresti vedere la scheda Redux apparire nel pannello DevTools del tuo browser che ti consente di avviare il debug.

Integrazioni alternative

Anche altri framework popolari dispongono dell'integrazione DevTools:

  • Next.js - Utilizzare |_+_| configureStore
  • CRA - Utilizzare |_+_| configureStore

Controlla il tuo framework o i documenti boilerplate per vedere se forniscono scorciatoie per l'integrazione di Redux DevTools.

Utilizzo di Redux DevTools

Con DevTools completamente configurato, esaminiamo come utilizzarlo per eseguire il debug delle app React. L'interfaccia utente di DevTools consente di:

  • Ispezionare lo stato
  • Guarda i cambiamenti di stato
  • Riproduci le azioni registrate
  • 'Viaggio nel tempo' tra gli stati storici delle app

Stato ispezionante

La scheda Stato DevTools ti consente di esaminare l'ultima istantanea dello stato Redux. Espandi le sezioni di stato per immergerti nel valore corrente di una particolare parte di stato:

Controlla lo stato dopo che si sono verificate le interazioni per eseguire il debug dei valori che non si aggiornano come previsto.

Monitoraggio dei cambiamenti di stato

Facendo clic sulla casella di controllo 'Monitora modifiche dello stato' verranno registrate tutte le azioni inviate e il nuovo valore dello stato dopo ciascuna azione.

Guarda questo registro per comprendere il flusso di modifica dello stato. Mostra la sequenza di azioni che influiscono sullo stato nel tempo.

Nota quando gli stati si aggiornano in modo errato per restringere la causa del bug.

Riproduzione di azioni e viaggi nel tempo

Il registro delle azioni consente di riprodurre i passaggi attivando azioni. Fare clic su un'azione per inviarla nuovamente. Oppure trascina il cursore su 'viaggio nel tempo' per tornare agli stati precedenti dell'app.

Usalo per isolare quando si verifica un bug. Riproduci i passaggi per osservarlo, quindi esamina lo stato per ottenere informazioni dettagliate.

Personalizzazione del monitor DevTools

È possibile personalizzare la scheda del monitor DevTools per modificare le registrazioni da conservare. Ciò aiuta a concentrarsi sui cambiamenti di stato rilevanti.

Abilita queste opzioni di monitoraggio secondo necessità:

  • Metti in pausa la registrazione - Interrompe temporaneamente la registrazione
  • Blocca le modifiche - Mantiene il registro delle azioni durante i viaggi nel tempo
  • Tieni traccia dei cambiamenti di stato - I filtri registrano solo le modifiche

Aggiungendo |_+_| e |_+_| le opzioni di configurazione ti consentono anche di impostare:

  • Numero di azioni da registrare
  • Filtra azioni come |_+_|
|_+_|

Ottimizzarli per concentrare DevTools sui dati di debug rilevanti.

Usare Redux DevTools come un professionista

Esploriamo alcuni flussi di lavoro efficaci per sfruttare le funzionalità di Redux DevTools per diagnosticare i problemi.

Individuare quando lo stato si interrompe

Un'attività comune è restringere il campo quando lo stato dell'app diverge da ciò che si prevede possa causare un bug.

Le funzionalità di riproduzione delle azioni di DevTools aiutano a identificare l'azione che porta all'errore dello stato. Ecco un processo per trovare i punti di interruzione dello stato:

  1. Da notare l'ultimo buono stato conosciuto
  2. Esegui azioni in avanti monitorando i cambiamenti di stato
  3. Interrompe la riproduzione quando emerge uno stato imprevisto
  4. Ispezionare l'azione e lo stato prima del punto di errore

Questo filtra la causa principale del bug riducendola a un piccolo insieme di azioni di cui eseguire il debug.

Comprendere gli errori della sequenza di interazione

Le interfacce utente complesse implicano lunghe sequenze di aggiornamenti di stato. Se qualcosa va storto nel mezzo della sequenza, non è chiaro quale interazione sia fallita.

DevTools traccia gli aggiornamenti passo dopo passo per evidenziare gli errori. Analizzare una sequenza di interazione interrotta tramite:

  1. Reimposta lo stato dell'app per iniziare
  2. Registrare la sequenza
  3. Arresto su stato imprevisto
  4. Esaminare il registro delle azioni per visualizzare l'ultima operazione riuscita prima dell'errore
  5. Riprodurre le azioni precedenti per ricreare solo la sequenza di errore isolatamente

Ora puoi correggere la parte specifica del flusso UX che si è interrotta.

Monitoraggio delle modifiche di stato che influiscono sui componenti

L'estensione del browser React DevTools completa le capacità di Redux DevTools qui. Permette di tracciare quale componente viene ri-renderizzato quando lo stato cambia.

Utilizza entrambi gli strumenti insieme per correlare gli aggiornamenti di stato ai rendering dell'interfaccia utente:

  1. In React DevTools: evidenzia i componenti per tracciare i nuovi rendering
  2. In Redux DevTools: guarda il registro delle azioni per le modifiche allo stato
  3. Correla il rendering del componente React con le mutazioni dello stato Redux

Puoi identificare quale stato Redux in definitiva influisce sulla logica del componente per causare problemi.

Ottimizzazione delle prestazioni di DevTools

DevTools fornisce metadati preziosi per aiutarti a velocizzare anche le tue app React. Usalo per trovare colli di bottiglia nelle prestazioni.

Rilevamento di calcoli di stato costosi

Il registro delle azioni mostra la durata di ogni aggiornamento dello stato. Notare i ricalcoli dello stato lungo:

Prova a registrare i tempi con i dati di produzione abilitati per identificare gli obiettivi di ottimizzazione. Quindi riproduci azioni specifiche per isolarle.

Individuazione dei creatori di azioni lente

L'espansione di un'azione consente di tracciare il file e la riga di codice che l'ha attivata. Usa questo per trovare creatori di azioni pesanti:

Alcuni gestori di eventi dell'interfaccia utente potrebbero inviare sequenze costose. L'analisi dello stack punta alle posizioni del codice che necessitano di ottimizzazione.

Analisi del frame rate dell'interfaccia utente

Il React DevTools Profiler ti consente di registrare i rendering dei componenti durante un'interazione. Esaminare i marcatori di temporizzazione per rilevare:

  • Aggiornamenti lunghi dei componenti
  • Fotogrammi saltati
  • problemi di convenzione tra lo stato Redux e il re-rendering di React

Identificare le connessioni dalle modifiche di stato al codice dell'interfaccia utente con prestazioni scarse.

Conclusione

Redux DevTools sblocca il potere di analizzare quasi tutti i problemi di React, Redux e di gestione dello stato che incontri. Ti dà un'incredibile visibilità su come funziona la tua app.

La configurazione di Redux con DevTools richiede pochi minuti per la configurazione. Ma ti farà risparmiare ore lungo la strada per rintracciare bug e problemi di prestazioni.

Per interfacce grandi e complesse, dedicare tempo a padroneggiare i flussi di lavoro DevTools ripaga rapidamente i problemi di debug. La combinazione delle sue funzionalità con altre estensioni del browser ti offre piena visibilità sul ponte tra la gestione dello stato e il codice dell'interfaccia utente.

Le informazioni acquisite portano infine a cicli di sviluppo più rapidi per la creazione di applicazioni di alta qualità.

Guarda Anche: