⊗jsrtPmRtNS 43 of 47 menu

Hali ya Urambazaji katika React Router

Ikiwa tunabonyeza bidhaa kwenye orodha, tunaona kwamba mara ya kwanza ukurasa wa bidhaa hupakia kwa kucheleweshwa, na kwa mara nyingine haraka, vile vile wakati wa kuongeza na kusasisha bidhaa, kwa sababu tuna kache upande wa mteja.

Katika somo hili tutamwonyesha mtumiaji katika hali gani ukurasa wetu uko. Hii inatuwezesha kutumia kona useNavigation. Matokeo ya kazi yake kona hii inatoa kitu na mfululizo wa sifa. Tutavutiwa na moja wapo - sifa state.

Sifa state inaweza kuwa na 3 maadili: 'idle' (hakuna kinachotokea), 'submitting' (wakati wa kutuma fomu kupitia POST, PUT, PATCH au DELETE imeitwa action ya njia), 'loading' (wakati wa kuitwa kipakiaji kwa njia inayofuata, ili kuonyesha ukurasa unaofuata). Tutavutiwa na thamani ya mwisho.

Wacha tuingie kwenye faili root.jsx na tuagize kona hii:

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

Kisha, kwa matokeo yanayorudishwa na kona, tutaweza kutofautisha navigation katika kitendo Root - kabla ya return:

const { products } = useLoaderData(); const navigation = useNavigation();

Na sasa tutatumia sifa yake state, ikiwa itakuwa thamani 'loading', basi tutaweka darasa loading kwa divi, ambapo kuna utengenezaji wa data ya bidhaa:

<div id="product" className={navigation.state === 'loading' ? 'loading' : ''}> <Outlet /> </div>

Imetubakia kuongeza mitindo kwa darasa loading katika index.css. Wacha tuongeze opacity tu kwa hali ya upakiaji:

div.loading { opacity: 0.3; }

Sasa, ikiwa, ukipakia upya tovuti, ubonyeze bidhaa kwenye orodha au, kwa mfano, ongeza bidhaa mpya, sisi tutaona kwamba ukurasa wa sasa kwa muda utapungua, kabla ya kuonekana unaofuata.

Chukua programu, iliyoundwa na wewe kwa kazi za masomo yaliyopita. Kwa kutumia nyenzo za somo, kwa msaada wa kona useNavigation fanya ili mtumiaji aweze kuona, kwamba ukurasa unaofuata na data ya mwanafunzi unapakizwa.

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