⊗jsrtPmFmsDt 60 of 112 menu

Behandling av skjemadata ved å trykke på en knapp i React

I forrige leksjon gjorde vi det slik at når et symbol ble skrevet inn i et input-felt, dukket resultatet umiddelbart opp i et avsnitt. Dette ser selvfølgelig pent ut, men har en ulempe.

La oss forestille oss at vi må utføre en "tung", ressurskrevende operasjon. Det er ikke veldig optimalt å gjøre den for hvert inntastet symbol - det er bedre å vente på at datainntastingen er ferdig og deretter utføre den nødvendige operasjonen én gang og vise resultatet i et avsnitt.

For å gjøre dette må vi introdusere en knapp, ved å trykke på denne vil vår ressurskrevende operasjon bli utført. I dette tilfellet vil hvert input-felt igjen ha sin egen state, pluss at vi trenger en state til for å lagre resultatet av operasjonen og vise det på skjermen.

La oss se på et eksempel. Anta at vi har to input-felter og en knapp. La oss, ved å trykke på knappen, finne summen av tallene som er skrevet inn i input-feltene.

La oss implementere:

function App() { const [value1, setValue1] = useState(0); const [value2, setValue2] = useState(0); const [result, setResult] = useState(0); function handleChange1(event) { setValue1(event.target.value); } function handleChange2(event) { setValue2(event.target.value); } function handleClick() { setResult(Number(value1) + Number(value2)); } return <div> <input value={value1} onChange={handleChange1} /> <input value={value2} onChange={handleChange2} /> <button onClick={handleClick}>btn</button> <p>resultat: {result}</p> </div>; }

Man kan bruke en forkortet variant:

function App() { const [value1, setValue1] = useState(0); const [value2, setValue2] = useState(0); const [result, setResult] = useState(0); return <div> <input value={value1} onChange={event => setValue1(event.target.value)} /> <input value={value2} onChange={event => setValue2(event.target.value)} /> <button onClick={() => setResult(Number(value1) + Number(value2))}>btn</button> <p>resultat: {result}</p> </div>; }

Det er gitt to input-felter, to knapper og et avsnitt. La det skrives inn tall i input-feltene. Ved å trykke på den første knappen, finn summen av tallene, og ved å trykke på den andre knappen - produktet. Resultatet skrives ut i avsnittet.

Det er gitt to input-felter, en knapp og et avsnitt. La det skrives inn datoer i input-feltene i formatet 2025-12-31. Ved å trykke på knappen, finn forskjellen mellom datoene i dager og skriv ut resultatet i avsnittet.

Modifiser den forrige oppgaven slik at det som standard står nåværende dato i input-feltene.

Det er gitt et input-felt og et avsnitt. Det skrives inn et tall i input-feltet. Ved tap av fokus, skriv ut i avsnittet summen av sifrene i det innskrevne tallet.

Det er gitt et input-felt og et avsnitt. Det skrives inn et tall i input-feltet. Ved tap av fokus, skriv ut i avsnittet produktet av divisorene til det innskrevne tallet.

Norsk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruker informasjonskapsler for nettstedets funksjonalitet, analyse og personalisering. Behandling av data foregår i henhold til Personvernerklæringen.
godta alle tilpass avvis