⊗jsrtPmDtOAOp 76 of 112 menu

Reaktiivsed operatsioonid objektide massiividega Reactis

Õpime nüüd tegema reaktiivseid operatsioone objektide massiividega. Sellisel juhul peame edastama funktsiooni id massiivi elemendi, millega me kavatseme midagi teha:

function App() { const [notes, setNotes] = useState(initNotes); const result = notes.map(note => { return <li key={note.id}> <span>{note.prop1}</span> <span>{note.prop2}</span> <span>{note.prop3}</span> <button onClick={() => doSmth(note.id)}> btn </button> </li>; }); return <div> <ul> {result} </ul> </div>; }

Selleks, et midagi teha elemendiga, peame kõigepealt selle leidma, läbides kogu massiivi tsükliga:

function App() { ... function doSmth(id) { setNotes(notes.map(note => { if (note.id === id) { // teeme midagi elemendiga } return note; })); } }

Muudame näiteks leitud objekti tekste:

function App() { ... function doSmth(id) { setNotes(notes.map(note => { if (note.id === id) { note.prop1 += '!'; note.prop2 += '!'; note.prop3 += '!'; return note; } return note; })); } }

Iga li lõppu tehke nupp, mille vajutamisel see li eemaldatakse nimekirjast.

Antud on kolm sisendvälja. Iga li lõppu tehke nupp, mille vajutamisel selle li objekti andmed lähevad vastavatesse sisendväljadesse.

Modifitseerige eelmist ülesannet nii, et sisendväljade kõrval oleks nupp, mille vajutamisel sisendväljade andmed lähevad vastavasse li.

Eesti
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Me kasutame saidi toimimiseks, analüüsi ja personaliseerimiseks küpsiseid. Andmete töötlemine toimub vastavalt Privaatsuspoliitikale.
nõustu kõigega häälesta keeldu