Gestione dello stato React con Context

YouTube :

CodeSandbox :

Motivazione

Perché usare Context per gestire lo stato React? Lo stesso motivo per cui usi Redux per gestire il tuo negozio di applicazioni. Se i tuoi componenti parlano tra loro e lo stato di sollevamento diventa ingombrante, Context è un modo nativo per gestire lo stato dell'applicazione.

Prerequisiti

Faremo il refactoring <App>, che utilizza lo stato locale, per utilizzare Context:

Come puoi vedere, c'è un contatore con 2 pulsanti che incrementa o decrementa il conteggio.

Fornitore

Crea <Provider>e imposta prop valuea 0:

Rendering <Provider>come componente di primo livello in index.js:

Ottieni il provider valuecon :useContext<App>

useReducer

Crea una funzione di riduzione:

Passa lo stato e spedisci da useReducera Provider prop value:

Aggiorna <App>con il nuovo valore di contesto:

Consumatore

Un'alternativa a useContextè Consumer .

Innanzitutto, esporta Consumerda Context:

Quindi sostituire useContextcon <Consumer>:

<Consumer>richiede una funzione di callback per prop children. Il primo argomento è il Provider value.

Classe

Per i componenti di classe, è possibile accedere al valore Provider su this.context:

Da fare

Idee per miglioramenti:

  • Costruisci un hook personalizzato per useContext(Context).
  • Refactoring dei tipi di azione in costanti.
  • Crea creatori di azioni.
  • Impostare displayNamesu Contesto per migliorare la visibilità in React DevTools.
  • Video Youtube
  • Demo di CodeSandbox
  • Contesto
  • useReducer

Suggested posts

Evitare le conseguenze devastanti di un ictus: imparare dal viaggio di una famiglia.

Evitare le conseguenze devastanti di un ictus: imparare dal viaggio di una famiglia.

Introduzione Un ictus è un'emergenza medica che può colpire chiunque in qualsiasi momento. Si verifica quando il flusso sanguigno verso una parte del cervello viene interrotto, portando a un'improvvisa perdita della funzione cerebrale.

Le mie risorse di codifica più utilizzate

Le mie risorse di codifica più utilizzate

Questa settimana ho ricevuto un'e-mail da un membro della mailing list quotidiana. Volevano sapere: quali risorse visiti giornalmente, settimanalmente e mensilmente? Ottima domanda! Sono felice di provare a condividere alcune informazioni sul mio flusso di lavoro e sulle migliori risorse che utilizzo.

Related posts

Tieni traccia di chiunque abbia solo un numero di telefono | Indagine OSINT

Tieni traccia di chiunque abbia solo un numero di telefono | Indagine OSINT

Puoi essere un investigatore OSINT, un giocatore CTF o semplicemente qualcuno che riceve chiamate spam. Qualcuno che sta cercando di verificare il numero che hai visto in una pubblicità.

Perché alcuni freelance stanno fingendo le loro vite

Perché alcuni freelance stanno fingendo le loro vite

Recentemente sono stato su Linkedin, il social network professionale più grande del mondo, e ho trovato post di designer freelance che seguo che hanno attirato la mia attenzione. Tutti hanno postato foto dagli aeroplani, sulla spiaggia con i loro laptop, dalle piscine e dagli uffici con viste mozzafiato.

Journal Ouvert

Journal Ouvert

Diario aperto: una foto al giorno. Sono sempre stato affascinato dalle storie.

Il primo libro per sballarsi di un bambino

Il primo libro per sballarsi di un bambino

(Attenzione: questa è satira, destinata ad essere allegramente sovversiva, sicuramente non per bambini) Hai visto tua madre e tuo padre nascondersi in cucina e fumare quelle sigarette puzzolenti. Ti dicono.