⊗jsrtPmFmsChI 62 of 112 menu

Trabalhando com checkbox em React

Trabalhar com checkbox também segue um princípio semelhante, só que em vez do atributo value, especificamos o atributo checked. Se passarmos true para este atributo - o checkbox será marcado, e se for false - não será marcado:

function App() { return <div> <input type="checkbox" checked={true} /> marcado <input type="checkbox" checked={false} /> não marcado </div>; }

Geralmente, o estado (state) contendo um valor booleano é passado para o atributo checked:

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

Assim como ao trabalhar com inputs, se o valor do atributo checked for definido rigidamente - o estado do checkbox não poderá ser alterado. Para um funcionamento correto, vamos alterar o estado do checkbox para o valor oposto ao alterá-lo:

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

Podemos simplificar:

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

Vamos exibir o estado do checkbox em um parágrafo, usando o operador ternário:

function App() { const [checked, setChecked] = useState(true); return <div> <input type="checkbox" checked={checked} onChange={() => setChecked(!checked)} /> <p>estado: {checked ? 'marcado' : 'não marcado'}</p> </div>; }

Dados um checkbox, um botão e um parágrafo. Ao clicar no botão, se o checkbox estiver marcado, exiba no parágrafo um texto de saudação ao usuário, e se não estiver marcado - um texto de despedida.

Usando três checkboxes, peça ao usuário para escolher os idiomas que ele conhece: html, css e js. Exiba o resultado da seleção de cada idioma em parágrafos separados.

Português
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nós usamos cookies para o funcionamento do site, análises e personalização. O processamento de dados é realizado de acordo com a Política de Privacidade.
aceitar todas configurar rejeitar