⊗jsrtPmCpEGS 89 of 112 menu

Редактиране на състояние във вътрешен компонент в React

Нека разгледаме компонента Product, получен от нас в предишния урок:

function Product({ id, name, cost, isEdit, toggleMode, editProd }) { return <div> име: { isEdit ? <input value={name} onChange={event => editProd(id, 'name', event)} /> : <span>{name}</span> } цена: { isEdit ? <input value={cost} onChange={event => editProd(id, 'cost', event)} /> : <span>{cost}</span> } <button onClick={() => toggleMode(id)}> {isEdit ? 'save': 'edit'} </button> </div>; }

Лесно се забелязва, че кодът за името на продукта и за цената на продукта практически се дублира. Нека изнесем този код в отделен компонент ProductField:

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

Нека внесем промени в компонента Product:

function Product({ id, name, cost, isEdit, toggleMode, editProd }) { return <div> име: <ProductField id={id} text={name} type="name" isEdit={isEdit} editProd={editProd} />, цена: <ProductField id={id} text={cost} type="cost" isEdit={isEdit} editProd={editProd} /> <button onClick={() => toggleMode(id)}> {isEdit ? 'save': 'edit'} </button> </div>; }

Извършете аналогични операции с компонента User, създаден от вас в предишни уроци.

Български
AfrikaansAzərbaycanবাংলাБеларускаяČeštinaDanskDeutschΕλληνικά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
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне