⊗jsrtPmFmsOIB 71 of 112 menu

Binding Input ke Objek di React

Misalkan dalam state disimpan sebuah objek:

const initObj = { prop1: 'value1', prop2: 'value2', prop3: 'value3', } function App() { const [obj, setObj] = useState(initObj); return <div> {obj.prop1}-{obj.prop2}-{obj.prop3} </div>; }

Mari kita tampilkan setiap properti dari objek kita pada input yang terpisah:

function App() { const [obj, setObj] = useState(initObj); return <div> <input value={obj.prop1} /> <input value={obj.prop2} /> <input value={obj.prop3} /> <br /> {obj.prop1}-{obj.prop2}-{obj.prop3} </div>; }

Sekarang mari kita ikatkan event onChange pada setiap input. Sebagai handler, tugaskan satu fungsi yang umum:

function App() { const [obj, setObj] = useState(initObj); return <div> <input value={obj.prop1} onChange={event => handleChange('prop1', event)} /> <input value={obj.prop2} onChange={event => handleChange('prop2', event)} /> <input value={obj.prop3} onChange={event => handleChange('prop3', event)} /> <br /> {obj.prop1}-{obj.prop2}-{obj.prop3} </div>; }

Seperti yang Anda lihat, fungsi handleChange pada parameter pertama menerima nama dari properti objek yang bersangkutan.

Mari kita tulis implementasi dari fungsi kita:

function handleChange(prop, event) { const copy = Object.assign({}, obj); copy[prop] = event.target.value; setObj(copy); }

Implementasi ini dapat bekerja, tetapi dapat disederhanakan jika menggunakan computed property names dari objek:

function handleChange(prop, event) { setObj({...obj, ...{[prop]: event.target.value}}); }

Mari kita kumpulkan semua kodenya menjadi satu:

function App() { const [obj, setObj] = useState(initObj); function handleChange(prop, event) { setObj({...obj, ...{[prop]: event.target.value}}); } return <div> <input value={obj.prop1} onChange={event => handleChange('prop1', event)} /> <input value={obj.prop2} onChange={event => handleChange('prop2', event)} /> <input value={obj.prop3} onChange={event => handleChange('prop3', event)} /> <br /> {obj.prop1}-{obj.prop2}-{obj.prop3} </div>; }

Misalkan dalam state disimpan sebuah objek dengan tanggal:

const initDate = { year: 2025, month: 12, day: 31, }

Tampilkan di paragraf tahun, bulan, dan hari dari tanggal yang disimpan dalam state, serta hari dalam minggu yang sesuai dengannya.

Modifikasi tugas sebelumnya dengan menambahkan tiga input untuk mengedit tanggal.

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