⊗jsrtPmFmsChI 62 of 112 menu

Rad sa checkbox u Reactu

Rad sa checkbox takođe se obavlja po sličnom principu, samo umesto atributa value mi navodimo atribut checked. Ako se u ovaj atribut prosledi true - onda će checkbox biti označen, a ako false - neće biti označen:

function App() { return <div> <input type="checkbox" checked={true} /> označen <input type="checkbox" checked={false} /> nije označen </div>; }

Obično se u atribut checked prosleđuje state, koji sadrži logičku vrednost:

function App() { const [checked, setChecked] = useState(true); return <div> <input type="checkbox" checked={checked} /> </div>; }

Isto kao i pri radu sa input poljima, ako se kruto postavi vrednost atributa checked - stanje checkboxa se neće moći promeniti. Za ispravan rad ćemo po promeni checkboxa menjati njegov state na suprotnu vrednost:

function App() { const [checked, setChecked] = useState(true); function handleChange() { setChecked(!checked); // invertujemo state } return <div> <input type="checkbox" checked={checked} onChange={handleChange} /> </div>; }

Možemo pojednostaviti:

function App() { const [checked, setChecked] = useState(true); return <div> <input type="checkbox" checked={checked} onChange={() => setChecked(!checked)} /> </div>; }

Hajde da ispišemo stanje checkboxa u pasus, koristeći ternarni operator:

function App() { const [checked, setChecked] = useState(true); return <div> <input type="checkbox" checked={checked} onChange={() => setChecked(!checked)} /> <p>stanje: {checked ? 'označen' : 'nije označen'}</p> </div>; }

Dat je checkbox, dugme i pasus. Klikom na dugme, ako je checkbox označen, ispišite u pasus tekst pozdrava sa korisnikom, a ako nije označen - tekst oproštaja.

Pomoću tri checkboxa zatražite od korisnika da izabere jezike koje poznaje: html, css i js. Rezultat izbora za svaki jezik ispisujte u posebne pasuse.

Srpski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Koristimo kolačiće za rad sajta, analitiku i personalizaciju. Obrada podataka se vrši u skladu sa Politikom privatnosti.
prihvati sve podesi odbij