⊗jsrtPmHkUCt 9 of 47 menu

React'te useContext Bağlam Kancası

Bu derste, bağlamla çalışmaya devam edeceğiz. Şimdi bir bileşen ağacı kuracağız. Başlangıç olarak ayrı bir dosyada bir React bileşeni BigBox oluşturacağız:

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

Onu içe aktaralım ve ana bileşenimiz App içine yerleştirelim:

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

Daha iyi görselleştirme için div'lere biraz stil uygulayalım. Bunun için styles.css dosyasını oluşturalım:

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

Onu App.js dosyasına aktarmayı unutmayalım:

import './styles.css';

Şimdi ayrı bir dosyada MiddleBox bileşenini oluşturalım:

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

Ve onu büyük kutu BigBox içine yerleştirelim:

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

Aynı işlemi küçük kutu SmallBox için de yapalım:

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

İki tane küçük kutuyu MiddleBox içine yerleştirelim:

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

Ağacı kurduk. Ve şimdi App bileşenimizden, SmallBox bileşenine, prop'ları kullanmadan, bağlamı kullanarak (yaşasın kutu uygulamamız büyük boyutlara ulaştı) 'small box :)' dize değerini iletmek istiyoruz.

Bağlam dosyası MyContext.js'yi önceki derste zaten oluşturmuş ve bağlamıştık.

Yapacağımız bir sonraki adım - BigBox'yi, bağlam nesnemiz MyContext'nin bir özelliği olan bağlam sağlayıcısı ile sarmalamak. Artık bu yapının içine alınmış tüm bileşenler (ve bu, BigBox içine yerleştirilmiş tüm kutular) bağlama erişebilecek ve bağlamdaki değişikliklere abone olabilecek. Bağlam değeri olarak istediğimiz 'small box :)' değerini iletiyoruz:

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

Ve şimdi geriye kalan, bağlam değerini okumak. Onu SmallBox içinde kullanmak istiyorduk, bu yüzden bağlam dosyası MyContext.js'yi ve useContext kancasını oraya aktaralım:

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

useContext kullanarak bağlam değerini name değişkenine okuyalım:

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

SmallBox bileşenini bu bağlama abone ettik ve eğer bağlam değişirse, bu bileşen de güncellenecek.

Ve son olarak, üç nokta yerine name değişkeninin değerini koyalım:

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

Boş App bileşeninde Parent bileşenini, onun içinde Daughter bileşenini, ve Daughter içinde Grandson bileşenini oluşturun. Bağlamı kullanarak, App'den 42 yaş değerini iletin ve useContext kullanarak onu Daughter bileşeninde görüntüleyin.

Ve şimdi Grandson bileşeninde yaş değerini görüntüleyin, ancak 2'ye bölünmüş halini.

Türkçe
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenЎзбекOʻzbekTiếng Việt
Web sitesinin çalışması, analiz ve kişiselleştirme için çerezleri kullanıyoruz. Veri işleme, Gizlilik Politikası'na uygun olarak gerçekleşir.
tümünü kabul et özelleştir reddet