⊗jsrtPmFmsDt 60 of 112 menu

Обрађивање података форме кликом на дугме у React-у

У претходној лекцији смо радили тако да при уносу симбола у поље за унос у параграфу тренутно појави резултат. То, наравно, изгледа лепо, али има недостатак.

Замислимо да треба да урадимо неку "тешку", ресурсно захтевну операцију. Није баш оптимално радити је на сваки унос симбола - боље је сачекати коначни унос података и онда извршити потребну операцију једном и резултат приказати у параграфу.

За то нам треба дугме, при клику на које ће се извршавати наша ресурсно захтевна операција. У том случају ћемо опет имати да сваком пољу за унос одговара његово стање (state), плус нам је потребно још једно стање за снимање резултата операције и приказ њега на екран.

Погледајмо на примеру. Нека имамо два поља за унос и једно дугме. При клику на дугме хајде да пронађемо збир бројева, унетих у поља за унос.

Реализујмо:

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>result: {result}</p> </div>; }

Може се користити скраћена варијанта:

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>result: {result}</p> </div>; }

Дата су два поља за унос, два дугмета и параграф. Нека се у поља за унос уносе бројеви. При клику на прво дугме пронађите збир бројева, а при клику на друго дугме - производ. Резултат испишите у параграф.

Дата су два поља за унос, дугме и параграф. Нека се у поља за унос уносе датуми у формату 2025-12-31. При клику на дугме пронађите разлику између датума у данима и резултат испишите у параграф.

Модификујте претходни задатак тако да подразумевано у пољима за унос стоји тренутни датум.

Дато је поље за унос и параграф. У поље за унос уноси се број. При губитку фокуса испишите у параграф збир цифара унесеног броја.

Дато је поље за унос и параграф. У поље за унос уноси се број. При губитку фокуса испишите у параграф производ делилаца унесеног броја.

Српски
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Користимо колачиће за рад сајта, аналитику и персонализацију. Обрада података се врши у складу са Политиком приватности.
прихвати све подеси одбиј