⊗jsrtPmHkCxt 8 of 47 menu

React-da Kontekst

Indiki gok öwrenmäge geçmezden ozal, biz React-daky kontekst düşünjesine seretmeli.

Adaty halda, ata komponentlerden çaga komponentlere maglumatlary proplar arkaly geçirdik. Bu usul, az komponentiňiz bar we proplary ata komponentden gerekli komponente çaga komponentler arkaly 2-3 gezekden köp geçirmän bolýan ýagdaýlarda gowy.

Bu usul, ara komponentlerde bu proplar umuman ulanylmaýan ýagdaýlarda (ýönekeý aýdanyňda, prop drilling diýilýän meselede) uly kynçylyklara getirip biler ýa-da birnäçe komponente birmeňzeş maglumatlary geçirmeli bolup bilersiňiz.

Bu ýagdaýlarda, ata komponentiň maglumatlaryny proplar arkaly geçirmän, komponentler gurluşyndaky ýerine garamazdan, islendik çaga komponent üçin elýeterli etmäge mümkinçilik berýän kontekst kömek edip biler. Şonuň üçin, maglumatlary diňe olara gerek bolan komponentler alar.

Konteksti ulanmak üçin, ony döretmeli. Ilki bilen, MyContext.js faýlyny dörediň we ona createContext funksiýasyny import ediň:

import { createContext } from 'react';

Indi kontekst obýektini dörediň, ony MyContext üýtgeýjisine ýazyň we eksport etmegi ýatdan çykarmaň. Bizim ýagdaýymyzda, başlangyç bahasy hökmünde createContext funksiýasyna null belgiländik, sebäbi bu biziň üçin möhüm däl (ýöne boş ýaýyş hem goýup bolardy). Başga bir baha tapylmadyk ýagdaýlarda, deslapky baha konteksti okamakda peýda bolup biler. Bu baha islendik görnüşde bolup biler:

export const MyContext = createContext(null);

Indiki sapakda, aýratyn faýllarda ýerleşdirilen birnäçe komponentden ybarat programmany dörederis. Eger hemme komponent bir faýlda bolsa, onda kontekst döretmek üçin aýratyn faýl döretmez we ony eksport etmezdik.

Indi MyContext.js faýlyny, boş App komponentine - maglumatlary geçirmekçi bolýan komponente import edeliň:

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

MyContext.js faýlyny dörediň we onuňy, sapakda görkezilişi ýaly, boş App komponentine import ediň.

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