⊗jsrtPmHkUCt 9 of 47 menu

React-daky useContext kontekst gөç

Bu sapakda biz kontekst bilen işlemegi dowam edaris. Indi komponentleriň agajyny gurarys. Başlangyç üçin aýratyn faýlda React komponenty BigBox dörediň:

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

Ony import edeliň we baş komponentimiz App-de ýerleşdiriň:

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

Daha aýdyňlyk üçin birneme stil bereliň diwlere. Bunuň üçin styles.css faýlyny dörediň:

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

Ony import etmegi ýatdan çykarmaň App.js-e:

import './styles.css';

Indi aýratyn faýlda MiddleBox komponenty dörediň:

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

We ony uly gutuja BigBox goýuň:

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

Kiçijik gutujyk bilen hem SmallBox şol bir işi edeliň:

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

Ondan iki sany şeýle gutujygy MiddleBox-de ýerleşdiriň:

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

Agajy gurduk. Indi bolsa biz App-den, meselem, SmallBox-e setir bahasyny 'small box :)' geçirmek isleýäris, propssyz, kontekst ulanyp (gutar-da gutulygyňyz programmamyz uly ölçegli bolup biler).

Kontekst faýly MyContext.js biz öňki sapakda döredip we birikdirdik.

Indiki ädim, edjek zadymyz - BigBox-i kontekstiň provaydery bilen gapdalaýarys, käbir kontekst obýektimiziň MyContext aýratynlygy. Indi bu gurluşda ýerleşen ähli komponentler (bu hem BigBox içine goýlan ähli gutulyklar) kontekste giriş alar we onyň üýtgeşikliklerine ýazylar. Kontekstiň bahasy hökmünde islenen 'small box :)' geçirýäris:

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

Indi galýan zadymyz kontekstiň bahasyny okamak. Biz ony SmallBox-de ulanmak isledik, şonuň üçin ol ýere kontekst faýlyny MyContext.js we gөç-i useContext import edeliň:

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

useContext kömegi bilen kontekstiň bahasyny name üýtgeýjisine okaýarys:

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

Biz SmallBox-i bu kontekste ýazdyrdyk we, eger ol üýtgese, bu komponent hem täzelenjek.

We, ahyrynda, üýtgeýjiniň bahasyny name köçeltme nyrhlarynyň ýerine goýýarys:

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

Boş komponentde App dörediň komponent Parent, we onda komponent Daughter, we Daughter komponentde Grandson. Konteksti ulanmak, App-den bahany geçiriň ýaşy 42, we useContext kömegi bilen ony Daughter komponentde görkeziň.

Indi bolsa Grandson komponentde ýaşyň bahasyny görkeziň, ýöne 2-e bölünen.

Türkmen
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkçeЎзбекOʻzbekTiếng Việt
Biz sahypanyň işlemegi, analitika we şahsyýetleşdirmek üçin cookie ulanýarys. Maglumatlaryň işlenişi Gizlinlik syýasaty boýunça amala aşyrylýar.
hemmesini kabul et sazlamak ret et