⊗jsrtPmRtAL 42 of 47 menu

Kuangalia Kiungo Kikichofanya Kazi katika React Router

Tuchukulie tumeweka bidhaa kadhaa kwenye programu yetu na tunatazama kila moja ya bidhaa hizo. Je, tutaelejea kwenye ukurasa wa bidhaa gani tulipo sasa? Hebu tuangazie bidhaa hiyo kwenye orodha, kwa mfano kwa herufi nene na rangi ya kahawia, na ikiwa kiungo bado kinapakuliwa, basi kwa rangi ya kijivu.

Kwa kuanzia, nenda kwenye ukurasa wa kwanza, ongeza bidhaa 4 kwenye orodha na kwa kila moja yao weka data. Wape majina yoyote.

Katika kuangazia kiungo kinachofanya kazi, kitengo NavLink kitatusaidia, hiki ni aina maalum ya kitengo Link, ambacho kinajua hali ya data. Kawaida hutumika wakati wa kuunda menyu ya urambazaji.

Hebu tufungue root.jsx na tuagize NavLink (usisahau kuondoa uagizaji wa Link, laana React inaweza kukasirika, kwani hatutumii tena):

import { NavLink } from 'react-router-dom';

Kisha kwenye muundo badilisha kitengo Link kuwa NavLink:

<NavLink key={product.id} to={`products/${product.id}`}> {product.name ? product.name : <i>unnamed</i>} </NavLink>

Na uongeze prop className, na pia tutumie mantiki ya masharti. Ikiwa ukurasa umepakuliwa, basi kiungo kitakuwa katika hali ya kufanya kazi, ikiwa kinapakuliwa, basi katika hali ya upakiaji, ikiwa hakuna kitu kinachotokea, basi kitabaki kama ilivyo. Kutokana na hili, darasa ya kiungo itabadilika:

<NavLink key={product.id} to={`products/${product.id}`} className={({ isActive, isPending }) => isActive ? 'active' : isPending ? 'loading' : '' } > {product.name ? product.name : <i>Unnamed</i>} </NavLink>

Imebaki tu tuongeze mitindo kwa darasa active na loading kwenye faili yetu ya css:

a.active { font-weight: bold; color: brown; } a.loading { color: gray; }

Imekwisha! Sasa bofya kwenye bidhaa kwenye orodha.

Chukua programu uliyoiumba kwenye kazi za masomo yaliyopita. Kwa kutumia nyenzo za somo, kutekeleza ndani yake kuangazia kiungo kinachofanya kazi kwa orodha ya wanafunzi ili iwe wazi data ya mwanafunzi gani user anachotazama sasa.

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