⊗jsrtPmFmsChI 62 of 112 menu

Práce s checkbox v Reactu

Práce s checkbox probíhá také podle podobného principu, jen místo atributu value uvádíme atribut checked. Pokud do tohoto atributu předáme true - checkbox bude zaškrtnut, a pokud false - nebude zaškrtnut:

function App() { return <div> <input type="checkbox" checked={true} /> zaškrtnut <input type="checkbox" checked={false} /> nezaškrtnut </div>; }

Obvykle se do atributu checked předává stav, obsahující logickou hodnotu:

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

Stejně jako při práci se vstupy, pokud pevně nastavíme hodnotu atributu checked - stav checkboxu nebude možné změnit. Pro správnou funkci budeme při změně checkboxu měnit jeho stav na opačnou hodnotu:

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

Můžeme zjednodušit:

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

Vypišme stav checkboxu do odstavce pomocí ternárního operátoru:

function App() { const [checked, setChecked] = useState(true); return <div> <input type="checkbox" checked={checked} onChange={() => setChecked(!checked)} /> <p>stav: {checked ? 'zaškrtnut' : 'nezaškrtnut'}</p> </div>; }

Je dán checkbox, tlačítko a odstavec. Po kliknutí na tlačítko, pokud je checkbox zaškrtnut, vypište do odstavce text pozdravu s uživatelem, a pokud není zaškrtnut - text rozloučení.

Pomocí tří checkboxů požádejte uživatele o výběr jazyků, které ovládá: html, css a js. Výsledek výběru pro každý jazyk vypisujte do samostatných odstavců.

Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout