⊗jsrtPmHkUCt 9 of 47 menu

Kait Konteks useContext dalam React

Dalam pelajaran ini, kita akan terus bekerja dengan konteks. Sekarang kita akan membina pokok komponen. Untuk permulaan, dalam fail berasingan buat komponen React BigBox:

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

Importnya dan letakkan dalam komponen utama kami App:

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

Untuk lebih kejelasan, mari kita gayakan div sedikit. Untuk ini, buat fail styles.css:

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

Jangan lupa untuk mengimportnya ke dalam App.js:

import './styles.css';

Sekarang dalam fail berasingan buat komponen MiddleBox:

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

Dan letakkannya dalam kotak besar BigBox:

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

Mari lakukan perkara yang sama dengan kotak kecil SmallBox:

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

Letakkan dua kotak sedemikian dalam MiddleBox:

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

Kami telah membina pokok. Dan sekarang kami mahu menghantar dari App kami, katakan, ke SmallBox nilai rentetan 'small box :)', tanpa menggunakan props, tetapi menggunakan konteks (sekiranya aplikasi kotak kami berkembang menjadi saiz yang sangat besar).

Fail dengan konteks MyContext.js kami telah buat dan sambungkan dalam pelajaran lepas.

Langkah seterusnya yang akan kami lakukan - bungkus BigBox dalam penyedia konteks, yang merupakan sifat objek konteks kami MyContext. Sekarang semua komponen yang disertakan dalam pembinaan ini (dan ini semua kotak yang disertakan dalam BigBox) akan dapat mengakses dan melanggan perubahan konteks. Sebagai nilai konteks, kami menghantar yang dikehendaki 'small box :)':

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

Dan sekarang tinggal membaca nilai konteks. Kami mahu menggunakannya dalam SmallBox, jadi import fail konteks MyContext.js ke sana dan kait useContext:

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

Baca dengan useContext nilai konteks ke dalam pembolehubah name:

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

Kami telah melanggan SmallBox kepada konteks ini dan, jika ia berubah, komponen ini juga akan dikemas kini.

Dan akhirnya, gantikan nilai pembolehubah name sebagai ganti elipsis:

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

Dalam komponen kosong App, buat komponen Parent, dan di dalamnya komponen Daughter, dan dalam Daughter komponen Grandson. Menggunakan konteks, hantar dari App nilai umur 42, dan dengan bantuan useContext paparkannya dalam komponen Daughter.

Dan sekarang dalam komponen Grandson paparkan nilai umur, tetapi dibahagikan dengan 2.

Melayu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan kuki untuk operasi laman web, analisis dan personalisasi. Pemprosesan data dijalankan mengikut Polisi Kerahsiaan.
terima semua tataletak tolak