⊗jsrtPmFmsAIB 70 of 112 menu

Kuunganisha Viingilio kwa Safu katika React

Acha katika hali notes ihifadhi safu:

function App() { const [notes, setNotes] = useState([1, 2, 3]); return <div> </div>; }

Acha tuwe pia na kitendo saidizi, kinachopata jumla ya vipengele vya safu:

function getSum(arr) { let sum = 0; for (const elem of arr) { sum += +elem; } return sum; } function App() { ... }

Wacha tupate na tuonyeshe jumla ya vipengele vya safu yetu kutoka kwenye hali, tukitumia kitendo chetu saidizi:

function App() { const [notes, setNotes] = useState([1, 2, 3]); return <div> {getSum(notes)} </div>; }

Wacha sasa tutengeneze viingilio vitatu na kwenye value kila kikiingiza andika kipengele kimoja cha safu:

function App() { const [notes, setNotes] = useState([1, 2, 3]); return <div> <input value={notes[0]} /> <input value={notes[1]} /> <input value={notes[2]} /> {getSum(notes)} </div>; }

Wacha sasa tuongeze tukio onChange kwenye viingilio vyetu. Wakati huu tutafanya kitendo kimoja cha pamoja kinachoshughulikia tukio hili:

function App() { const [notes, setNotes] = useState([1, 2, 3]); function changeHandler(index, event) { // kitendo cha pamoja kinachoshughulikia } return <div> <input value={notes[0]} onChange={event => changeHandler(0, event)} /> <input value={notes[1]} onChange={event => changeHandler(1, event)} /> <input value={notes[2]} onChange={event => changeHandler(2, event)} /> {getSum(notes)} </div>; }

Kama unavyoona, kitendo changeHandler hupokea nambari ya kwanza ya kipengele cha safu, ambacho kikiingiza kinaharakisha.

Kwa nambari hii tunaweza kubadilisha kipengele cha safu kwa yaliyomo kwenye kikiingiza.

Wacha tutengeneze hii:

function changeHandler(index, event) { setNotes([...notes.slice(0, index), event.target.value, ...notes.slice(index + 1)]); }

Sasa itawezekana kuhariri kikiingiza chochote, wakati huu safu itabadilika kwa nguvu na, ipasavyo, jumla ya vipengele vyake itakokotolewa upya.

Wacha tukusanye msimbo wetu wote pamoja:

function App() { const [notes, setNotes] = useState([1, 2, 3]); function changeHandler(index, event) { setNotes([...notes.slice(0, index), event.target.value, ...notes.slice(index + 1)]); } return <div> <input value={notes[0]} onChange={event => changeHandler(0, event)} /> <input value={notes[1]} onChange={event => changeHandler(1, event)} /> <input value={notes[2]} onChange={event => changeHandler(2, event)} /> {getSum(notes)} </div>; }

Inawezekana kufanya hivi, ili viingilio vitengenezwe kwenye kitanzi:

function App() { const [notes, setNotes] = useState([1, 2, 3]); function changeHandler(index, event) { setNotes([...notes.slice(0, index), event.target.value, ...notes.slice(index + 1)]); } const result = notes.map((note, index) => { return <input key={index} value={note} onChange={event => changeHandler(index, event)} />; }); return <div> {result} {getSum(notes)} </div>; }

Imetolewa safu ifuatayo:

[1, 2, 3, 4, 5, 6, 7, 8, 9]

Onyesha kwenye skrini wastani wa kihisabati vipengele vya safu hii. Kwenye kitanzi tengeneza viingilio vya kuhariri vipengele.

Kiswahili
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Tunatumia kuki kwa ajili ya uendeshaji wa tovuti, uchambuzi na ubinafsishaji. Usindikaji wa data unafanyika kulingana na Sera ya Faragha.
kubali yote sanidi kataa