⊗jsrtPmHkUCt 9 of 47 menu

Kontekstni kliuček useContext v Reactu

V tej lekciji bomo nadaljevali z delom s kontekstom. Zdaj bomo zgradili drevo komponent. Za začetek v ločeni datoteki ustvarimo React komponento BigBox:

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

Uvozimo jo in namestimo v našo glavno komponento App:

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

Za večjo preglednost malo oblikujmo div-e. Za to ustvarimo datoteko styles.css:

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

Ne pozabimo je uvoziti v App.js:

import './styles.css';

Zdaj v ločeni datoteki ustvarimo komponento MiddleBox:

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

In jo postavimo v veliko škatlo BigBox:

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

Enako naredimo z majhno škatlico SmallBox:

function SmallBox() { return ( <p>I am ... </p> ); }

Postavimo dve takšni škatlici v MiddleBox:

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

Drevo smo zgradili. Zdaj pa želimo iz našega App posredovati, recimo, v SmallBox nizno vrednost 'small box :)', ne z uporabo props-ov, temveč z uporabo konteksta (skozi celotno strukturo komponent).

Datoteko s kontekstom MyContext.js smo že ustvarili in povezali v prejšnji lekciji.

Naslednji korak, ki ga bomo naredili - ovijemo BigBox v ponudnika konteksta, ki je lastnost našega objekta konteksta MyContext. Zdaj lahko vse komponente, zaprte v to konstrukcijo (in to so vse škatle, vložene v BigBox) dostopajo in se naročijo na spremembe konteksta. Kot vrednost konteksta posredujemo želeno 'small box :)':

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

In zdaj je še treba prebrati vrednost konteksta. Želeli smo ga uporabiti v SmallBox, kar pomeni, da uvozimo tja datoteko konteksta MyContext.js in kliuček useContext:

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

Z useContext preberimo vrednost konteksta v spremenljivko name:

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

Prijavili smo SmallBox na ta kontekst in če se bo spremenil, bo ta komponenta prav tako posodobljena.

In končno, vrednost spremenljivke name postavimo namesto tripičja:

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

V prazni komponenti App ustvarite komponento Parent, v njej komponento Daughter, v Daughter pa komponento Grandson. Z uporabo konteksta posredujete iz App vrednost starosti 42, s pomočjo useContext pa jo izpišite v komponenti Daughter.

In zdaj v komponenti Grandson izpišite vrednost starosti, vendar deljeno z 2.

Slovenščina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni