⊗jsrtPmCoLSU 95 of 112 menu

Pengangkatan State di React

Seringkali beberapa komponen harus merefleksikan data yang sama yang berubah. Di React disarankan untuk mengangkat state bersama ke leluhur bersama terdekat. Mari kita lihat contohnya.

Misalkan kita ingin membuat kalkulator suhu air. Ini akan berupa input, di mana pengguna akan memasukkan suhu, dan paragraf, di mana verdict akan ditampilkan: air cair, air padat, air gas.

Misalkan kalkulator kita mewakili komponen-container Calculator:

function Calculator() { return <div> </div>; }

Mari kita pindahkan input untuk memasukkan suhu ke dalam komponen TempInp, dan paragraf dengan verdict - ke dalam komponen Verdict:

function Calculator() { return <div> <Verdict /> <TempInp /> </div>; }

Mudah dipahami bahwa baik TempInp maupun Verdict harus memiliki state dengan suhu. Pada saat yang sama, logis bahwa ini harusnya suhu yang sama: saat data dimasukkan ke dalam input, verdict harus ditampilkan.

Dalam hal ini disarankan untuk menggunakan teknik, yang disebut pengangkatan state: state, yang umum untuk dua (atau lebih) komponen diangkat ke atas hingga ke induk bersama mereka.

Dalam kasus kita, akan berakibat bahwa state dengan suhu harus dimiliki oleh komponen Calculator, yang akan meneruskannya ke TempInp dan Verdict sebagai props:

function Calculator() { const [temp, setTemp] = useState(0); return <div> <Verdict temp={temp} /> <TempInp temp={temp} /> </div>; }

Dalam komponen TempInp harus ada input untuk mengubah suhu. Tapi, karena suhu ini adalah props dari komponen ini, maka secara langsung di TempInp tidak boleh mengubahnya. Yang benar adalah meneruskan dari komponen Calculator fungsi khusus untuk mengubah suhu:

function Calculator() { const [temp, setTemp] = useState(0); function changeTemp(event) { setTemp(event.target.value); } return <div> <Verdict temp={temp} /> <TempInp temp={temp} changeTemp={changeTemp} /> </div>; }

Bisa, omong-omong, tidak memperkenalkan fungsi baru, tapi meneruskan fungsi setTemp ke komponen anak:

function Calculator() { const [temp, setTemp] = useState(0); return <div> <Verdict temp={temp} /> <TempInp temp={temp} setTemp={setTemp} /> </div>; }

Tuliskan implementasi komponen TempInp dan Verdict.

Cari tahu 3 tugas, di mana perlu menggunakan pengangkatan state. Tuliskan solusi tugas-tugas ini.

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