⊗jsrtPmHkUCt 9 of 47 menu

useContext Hook i React

I denne leksjonen fortsetter vi arbeidet med kontekst. Nå skal vi bygge et tre av komponenter. Til å begynne med, i en separat fil, oppretter vi en React-komponent BigBox:

function BigBox() { return ( <p>bigbox</p> ); }

Vi importerer den og plasserer den i vår hovedkomponent App:

import BigBox from './BigBox'; function App() { return ( <BigBox /> ); }

For bedre visuell forståelse, vil vi styling div-elementene litt. For dette oppretter vi filen styles.css:

div { border: 1px solid blue; margin: 10px; text-align: center; max-width: 300px; }

La oss ikke glemme å importere den i App.js:

import './styles.css';

Nå, i en separat fil, oppretter vi komponenten MiddleBox:

function MiddleBox() { return ( <p>middlebox</p> ); }

Og plasserer den i den store esken BigBox:

import MiddleBox from './MiddleBox'; function BigBox() { return ( <div> <MiddleBox /> </div> ); }

La oss gjøre det samme med den lille esken SmallBox:

function SmallBox() { return ( <p>Jeg er ... </p> ); }

Vi plasserer to slike esker i MiddleBox:

import SmallBox from './SmallBox'; function MiddleBox() { return ( <div> <SmallBox /> <SmallBox /> </div> ); }

Treet har vi bygget. Og nå ønsker vi å sende fra vår App, for eksempel, til SmallBox en strengverdi 'small box :)', uten å bruke props, men ved å bruke kontekst (i tilfelle eske-applikasjonen vår vokser til enorme størrelser).

Filen med kontekst MyContext.js vi allerede opprettet og koblet til i forrige leksjon.

Neste steg, som vi vil ta - omslutter vi BigBox i kontekstprovider, som er en egenskap til kontekstobjektet vårt MyContext. Nå kan alle komponenter innelukket i denne konstruksjonen (og det er alle esker, nested i BigBox) få tilgang og abonnere på endringer i konteksten. Som verdi for konteksten sender vi den ønskede 'small box :)':

function App() { return ( <MyContext.Provider value="small box :)"> <BigBox /> </MyContext.Provider> ); }

Og nå gjenstår det bare å lese verdien av konteksten. Vi ønsket å bruke den i SmallBox, så vi importerer kontekstfilen MyContext.js og hooken useContext:

import { useContext } from 'react'; import { MyContext } from './MyContext.js';

La oss lese ved hjelp av useContext kontekstverdien inn i variabelen name:

function SmallBox() { const name = useContext(MyContext); return ( <div> <p>Jeg er ... </p> </div> ); }

Vi abonnerte SmallBox på denne konteksten og, hvis den endres, vil denne komponenten også bli oppdatert.

Og til slutt, erstatter vi verdien av variabelen name i stedet for ellipsen:

function SmallBox() { const name = useContext(MyContext); return ( <div> <p>Jeg er {name} </p> </div> ); }

I den tomme komponenten App, opprett komponenten Parent, og i den komponenten Daughter, og i Daughter komponenten Grandson. Bruk kontekst til å sende fra App verdien alder 42, og ved hjelp av useContext, vis den i komponenten Daughter.

Og nå, i komponenten Grandson, vis alderen, men delt på 2.

Norsk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruker informasjonskapsler for nettstedets funksjonalitet, analyse og personalisering. Behandling av data foregår i henhold til Personvernerklæringen.
godta alle tilpass avvis