⊗jsrtPmCpEGS 89 of 112 menu

Editando estado em um componente neto no React

Vamos considerar o componente Product obtido na lição anterior:

function Product({ id, name, cost, isEdit, toggleMode, editProd }) { return <div> nome: { isEdit ? <input value={name} onChange={event => editProd(id, 'name', event)} /> : <span>{name}</span> } preço: { isEdit ? <input value={cost} onChange={event => editProd(id, 'cost', event)} /> : <span>{cost}</span> } <button onClick={() => toggleMode(id)}> {isEdit ? 'salvar': 'editar'} </button> </div>; }

É fácil notar que o código para o nome do produto e para o preço do produto está praticamente duplicado. Vamos extrair esse código para um componente separado ProductField:

function ProductField({ id, text, type, isEdit, editProd }) { return isEdit ? <input value={text} onChange={event => editProd(id, type, event)} /> : <span>{text}</span> ; }

Vamos fazer as alterações no componente Product:

function Product({ id, name, cost, isEdit, toggleMode, editProd }) { return <div> nome: <ProductField id={id} text={name} type="name" isEdit={isEdit} editProd={editProd} />, preço: <ProductField id={id} text={cost} type="cost" isEdit={isEdit} editProd={editProd} /> <button onClick={() => toggleMode(id)}> {isEdit ? 'salvar': 'editar'} </button> </div>; }

Realize operações semelhantes com o componente User que você criou nas lições anteriores.

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