⊗jsrtPmHkCxt 8 of 47 menu

Konteksts React

Pirms pāriet pie nākamā āķa apguves, mums ir jāapsver konteksta jēdziens React.

Parasti mēs pārraidījām datus no vecāku komponentiem uz meitas komponentiem, izmantojot props. Šī metode ir laba, ja jums nav daudz komponentu un jums nav nepieciešams pārsūtīt props no vecākā uz vajadzīgo komponentu caur meitas komponentiem vairāk 2-3 reizes.

Šī metode var arī kļūt ļoti neērta un izraisīt dažādas problēmas, ja starpkomponentos šie props vispār netiek izmantoti (tādu problēmu sauc par prop drilling), vai arī jums ir jāpārraida vieni un tie paši dati lielam skaitam komponentu.

Šajos gadījumos mums var palīdzēt konteksts, kas ļauj padarīt vecākā komponenta datus pieejamus jebkuram meitas komponentam, neatkarīgi no tā atrašanās vietas komponentu kokā, neizmantojot to pārraidi caur props. Attiecīgi, datus saņems tikai tie komponenti, kuriem tie ir nepieciešami.

Lai izmantotu kontekstu, tas ir jāizveido. Sākumā izveidosim failu MyContext.js un importēsim tajā funkciju createContext:

import { createContext } from 'react';

Tagad izveidosim konteksta objektu, ierakstīsim to mainīgajā MyContext, kuru ne aizmirsīsim eksportēt. Mūsu gadījumā mēs iestatījām createContext sākotnējo vērtību null, jo mums tā nav būtiska (varēja atstāt arī tikai tukšas iekavas). Norādītā noklusējuma vērtība parādīsies, lasot kontekstu, ja netiks atrasta kāda cita. Šī vērtība var būt jebkura tipa:

export const MyContext = createContext(null);

Nākamajā nodarbībā mēs izveidosim lietotni no vairākiem komponentiem, kas atrodas atsevišķos failos. Ja visi komponenti būtu vienā failā, tad arī konteksta izveidei mēs nebūtu izveidojuši atsevišķu failu un ne būtu to eksportējuši.

Tagad importēsim MyContext.js tukšā komponentā App - komponentā, no kura mēs plānojam pārraidīt datus:

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

Izveidojiet failu MyContext.js un importējiet to tukšajā komponentā App, kā aprakstīts nodarbībā.

Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt