⊗jsrtPmRtNS 43 of 47 menu

React Router හි සංචාලන තත්ත්වය

අපි ලැයිස්තුවේ ඇති නිෂ්පාදන මත ක්ලික් කළහොත්, පළමු වතාවට පිටුව නිෂ්පාදනය සමඟ පූරණය වීමට ප්‍රමාද වන බව අපට පෙනේ, ඉතිරිව ඇති ඒවා දැනටමත් වේගයෙන්, එසේම නිෂ්පාදනයක් එකතු කිරීම සහ යාවත්කාලීන කිරීමේදී, අපට ඇති බැවින් ගැනුම්කරු පැත්තේ කෑෂ්.

මෙම පාඩමෙන් අපි පරිශීලකයාට පෙන්වන්නෙමු අපේ පිටුව කුමන තත්ත්වයක පවතියිද යන්න. මෙයට සහාය වීමට අපට හැකිය කොක් useNavigation. එහි ප්‍රති ing ලයක් ලෙස මෙම කොක් ගුණාංග ගණනාවක් සහිත වස්තුවක් නිකුත් කරයි. අපි උනන්දුවක් දක්වන්නෙමු ඒවායින් එකක් - දේපල state.

දේපල state 3 තිබිය හැක අගයන්: 'idle' (කිසිවක් සිදු නොවේ), 'submitting' (පෝරමයක් සම්පූර්ණ කරන විට POST, PUT, PATCH හෝ DELETE හරහා action ඇමතීම මාර්ගය), 'loading' (ඇමතූ විට ඊළඟ පිටුව පින්තාරු කිරීම සඳහා ඊළඟ මාර්ගය සඳහා පූරකය ඊළඟ පිටුව). අපි උනන්දුවක් දක්වන්නෙමු අන්තිම අගය.

අපි ගොනුවට යමු root.jsx සහ මෙම කොක් ආයාත කරන්න:

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

ඉන්පසු, කොක් විසින් ආපසු ලබා දෙන ප්‍රති result ලය සඳහා, විචල්‍යයක් සාදන්න navigation ශ්‍රිතයේ Root - return ඉදිරියෙන්:

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

දැන් අපි එහි දේපල භාවිතා කරමු state, මෙය අගයක් නම් 'loading', එවිට අපි පන්තිය ස්ථාපිත කරන්නෙමු loading අපගේ ඇති ඩිව් සඳහා නිෂ්පාදන දත්ත ඇදීම සිදුවේ:

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

පන්තිය සඳහා විලාසිතා එකතු කිරීමට අපට ඉතිරිව ඇත loading in index.css. අපි කරමු පූරණ තත්ත්වයේදී සරලව වැඩි කරන්න opacity:

div.loading { opacity: 0.3; }

දැන්, අවසානයේ නම්, අඩවිය පුනර්ජීවනය කරමින්, ලැයිස්තුවේ ඇති නිෂ්පාදන මත ක්ලික් කරන්න හෝ, උදාහරණයක් ලෙස, නව නිෂ්පාදනයක් එක් කරන්න, අපි දැක ගන්න, වත්මන් පිටුව යම් කාලයක් තුළ ඊළඟ පිටුව දිස්වීමට පෙර අඳුරු වනු ඇත.

ඔබ විසින් සාදන ලද යෙදුම ගන්න පසුගිය පාඩම් සඳහා කාර්යයන්. භාවිතා කිරීම පාඩමේ ද්‍රව්‍ය, කොක් ආධාරයෙන් useNavigation එය කරන්න පරිශීලකයාට දැක ගත හැකිය පිටුව දත්ත සමඟ සිසුවෙකු පූරණය වෙමින් පවතී.

සිංහල
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
අපි වෙබ් අඩවිය ක්‍රියාත්මක කිරීම, විශ්ලේෂණය සහ පුද්ගලීකරණය සඳහා කුකී භාවිතා කරමු. දත්ත සැකසීම සිදුකරනු ලබන්නේ ගෝපනීයතා ප්‍රතිපත්තිය අනුව ය.
සියල්ල පිළිගන්න කොන්දේසි ප්‍රතික්ෂේප කරන්න