⊗jsrtPmHkUCt 9 of 47 menu

Reactda useContext Kontekst Huki

Ushbu darsda biz kontekst bilan ishlashni davom ettiramiz. Endi komponentlar daraxtini quramiz. Boshlanish uchun alohida faylda BigBox React komponentini yaratamiz:

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

Uni import qilamiz va asosiy App komponentimizga joylashtiramiz:

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

Yanada aniqroq qilish uchun divlarni biroz uslublashtiramiz. Buning uchun styles.css faylini yaratamiz:

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

Uni App.js ga import qilishni unutmaymiz:

import './styles.css';

Endi alohida faylda MiddleBox komponentini yaratamiz:

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

Va uni katta qutining ichiga BigBox qo'yamiz:

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

Kichkina quticha SmallBox bilan ham xuddi shu narsani qilamiz:

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

MiddleBox ga ikkita shunday qutichani joylashtiramiz:

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

Biz daraxtni quradik. Endi esa biz App dan, aytaylik, SmallBox ga 'small box :)' satr qiymatini prop-lardan foydalanmasdan, kontekst yaratish orqali uzatishni xohlaymiz (go'yo bizning quticha ilovamiz ulkan o'lchamlarga yetadi).

MyContext.js kontekst faylini biz oldingi darsda yaratgan va ulagan edik.

Keyingi qadam, biz qiladigan narsa - BigBox ni kontekst provayderi ga o'rab qo'yamiz, bu bizning kontekst obyekti MyContext ning xususiyati. Endi ushbu konstruksiyaga o'ralgan barcha komponentlar (va bu BigBox ga joylashtirilgan barcha qutichalar) kontekstga kirish imkoniyatiga ega bo'ladilar va unga obuna bo'lishlari mumkin. Kontekst qiymati sifatida biz xohlagan 'small box :)' ni uzatamiz:

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

Va endi kontekst qiymatini o'qish qoldi. Biz uni SmallBox da ishlatmoqchi edik, shuning uchun u erga MyContext.js kontekst faylini va useContext hukini import qilamiz:

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

useContext yordamida kontekst qiymatini name o'zgaruvchisiga o'qiymiz:

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

Biz SmallBox ni ushbu kontekstga obuna qildik va agar u o'zgarsa, ushbu komponent ham yangilanadi.

Va nihoyat, name o'zgaruvchisi qiymatini uch nuqta o'rniga qo'yamiz:

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

Bo'sh App komponentida Parent komponentini yarating, unda Daughter komponentini, Daughter da esa Grandson komponentini yarating. Kontekstdan foydalanib, App dan 42 yosh qiymatini uzating va useContext yordamida uni Daughter komponentida chiqaring.

Endi esa Grandson komponentida yosh qiymatini chiqaring, lekin 2 ga bo'lingan holda.

Oʻzbek
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекTiếng Việt
Biz sayt ishlashi, tahlil qilish va shaxsiylashtirish uchun cookie-fayllardan foydalanamiz. Ma'lumotlarni qayta ishlash Maxfiylik siyosatiga muvofiq amalga oshiriladi.
hammasini qabul qilish sozlash rad etish