⊗jsrtPmHkUCt 9 of 47 menu

useContext Kontekst Huk u React-u

U ovoj lekciji ćemo nastaviti rad sa kontekstom. Sada ćemo izgraditi stablo komponenti. Za početak u posebnom fajlu kreiraćemo React komponentu BigBox:

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

Uvešćemo je i smestiti u našu glavnu komponentu App:

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

Za veću preglednost malo stilizujemo div-ove. Za to kreiraćemo fajl styles.css:

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

Nećemo zaboraviti da ga uvezemo u App.js:

import './styles.css';

Sada u posebnom fajlu kreiraćemo komponentu MiddleBox:

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

I stavićemo je u veliku kutiju BigBox:

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

Ponovićemo sve isto sa malom kutijom SmallBox:

function SmallBox() { return ( <p>Ja sam ... </p> ); }

Smeštaćemo dve takve kutije u MiddleBox:

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

Stablo smo izgradili. A sada mi želimo da iz našeg App prosledimo, recimo, u SmallBox string vrednost 'small box :)', ne koristeći props-e, već koristeći se kontekstom (u slučaju da se naša kutijasta aplikacija razroše do ogromnih razmera).

Fajl sa kontekstom MyContext.js mi već kreirasmo i povezali na prošloj lekciji.

Sledeći korak, koji ćemo uraditi - obmotati BigBox u provider konteksta, koji je svojstvo našeg objekta konteksta MyContext. Sada sve komponente, obuhvaćene ovom konstrukcijom (a to su i sve kutije, ugnježdene u BigBox) moći će da pristupe i pretplate se na promene konteksta. Kao vrednost konteksta prosleđujemo željenu 'small box :)':

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

A sada ostaje da se pročita vrednost konteksta. Želeli smo da ga koristimo u SmallBox, znači uvezimo tamo fajl konteksta MyContext.js i huk useContext:

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

Pročitaćemo pomoću useContext vrednost konteksta u promenljivu name:

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

Pretplatili smo SmallBox na dati kontekst i, ako se on promeni, ova komponenta će takođe biti ažurirana.

I, konačno, zamenjujemo vrednost promenljive name umesto tri tačke:

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

U praznoj komponenti App kreirajte komponentu Parent, a u njoj komponentu Daughter, a u Daughter komponentu Grandson. Koristeći kontekst, prosledite iz App vrednost godina 42, a pomoću useContext prikažite je u komponenti Daughter.

A sada u komponenti Grandson prikažite vrednost godina, ali podeljenu sa 2.

Srpski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Koristimo kolačiće za rad sajta, analitiku i personalizaciju. Obrada podataka se vrši u skladu sa Politikom privatnosti.
prihvati sve podesi odbij