⊗jsrxPmRDMDO 30 of 57 menu

Տվյալների բազմակի օգտագործում Redux-ի սլայսից

Նախորդ դասին մենք ավելացրեցինք արտադրանք ավելացնելու ձևին ևս մեկ դաշտ՝ բացվող ցուցակով վաճառողի ընտրության համար, ով այն տեղադրում է: Ենթադրենք, հիմա մեզ անհրաժեշտ է այս տեղեկատվությունը ցուցադրել նաև հավելվածի մի քանի այլ վայրերում: Դրա համար մենք ամեն անգամ չենք կրկնօրինակի կոդը, այլ պարզապես կստեղծենք առանձին բաղադրիչ, որում կվերցնենք տվյալները սլայսից և կցուցադրենք հավելվածի այն մասերում, որտեղ դա մեզ անհրաժեշտ է:

Բացենք մեր արտադրանքներով հավելվածը: Արի այժմ products պանակում ստեղծենք ևս մեկ ֆայլ՝ SellerOfProd.jsx: Սկզբից իմպորտ անենք useSelector կեռիկը, որի օգնությամբ մենք կստանանք անհրաժեշտ արտադրանքով սլայսը:

import { useSelector } from 'react-redux'

Այնուհետև store-ից կվերցնենք անհրաժեշտ արտադրանքը ըստ վաճառողի id-ի, որը մենք կփոխանցենք մեր նոր բաղադրիչին պրոպսով:

export const SellerOfProd = ({ sellerId }) => { const seller = useSelector((state) => state.sellers.find((seller) => seller.id === sellerId) ) }

Իսկ եթե այդպիսի վաճառող կա, մենք կվերադարձնենք նրա անունը, իսկ եթե ոչ, ապա կվերադարձնենք 'unknown':

return <span>by {seller ? seller.name : 'unknown'}</span>

Արի այժմ իմպորտ անենք մեր նոր բաղադրիչը ProductsList.jsx-ում և տեղադրենք այն ProductsList ֆունկցիայում անմիջապես արտադրանքի անվանումով վերնագրից հետո: Ինչպես տեսնում եք, մենք նրան պրոպսով փոխանցեցինք id-ն:

<SellerOfProd sellerId={product.seller} />

Այժմ, եթե մենք գործարկենք մեր հավելվածը, ավելացնենք նոր արտադրանք և գտնենք այն ցուցակում, ապա կտեսնենք, որ այն ձեռք է բերել վաճառող, իսկ հավելվածի գործարկման ժամանակ ավտոմատ ավելացված արտադրանքների համար կլինի 'unknown':

Մի փոքր շեղում. եթե ձեր eslint-ը VS Code խմբագրում բողոքում է sellerId-ից, իսկ հավելվածն աշխատում է, ապա կարող եք ժամանակավոր անտեսել դա կամ բացել հավելվածի .eslintrc.cjs ֆայլը և rules-ում ավելացնել "react/prop-types": "off":

Ինքնին հասկանալի է, որ մենք կցանկանայինք ավելացնել վաճառողի մասին տեղեկատվությունը նաև արտադրանքի էջում: Դրա համար տեղադրենք ProductPage-ի վերլուծության մեջ կրկին այս տողը և ստուգենք, որ ամեն ինչ աշխատում է:

<SellerOfProd sellerId={product.seller} />

Բացեք ձեր ուսանողներով հավելվածը: Ուսումնասիրելով դասի նյութը՝ students պանակում ստեղծեք ֆայլ TeacherForStudent բաղադրիչի համար: Արդյունքում բաղադրիչը պետք է վերադարձնի դասախոսի ԱԱՀ-ն, իսկ կողքին փակագծերում այն առարկան, որը նա դասավանդում է: Անհրաժեշտ դասախոսին գտեք օգտագործելով useSelector կեռիկը: Եթե այդ ուսանողի համար դասախոս չկա, ցուցադրեք 'anonym':

Օգտագործելով նախորդ առաջադրանքում ստացված բաղադրիչը՝ ցուցադրեք դասախոսի տվյալները յուրաքանչյուր ուսանողի համար ուսանողների ցուցակի էջում:

Կատարեք նույնը, ինչ նախորդ առաջադրանքում, բայց առանձին ուսանողի էջի համար:

Հայերեն
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Մենք օգտագործում ենք cookie-ներ կայքի աշխատանքի, վերլուծության և անհատականացման համար։ Տվյալների մշակումը կատարվում է համաձայն Գաղտնիության քաղաքականության։
ընդունել բոլորը կարգավորել մերժել