⊗jsrxPmATSL 56 of 57 menu

Redux-də Satıcıların Siyahısı

Əvvəlki dərslərdə biz əsas materialla başladıq. İndi thunk köməyi ilə biz məhsulların siyahısını serverdən alırıq və serverdə yeni məhsulu saxlaya bilərik. Gəlin satıcılarla məşğul olaq. Axı biz onlar üçün də məlumat alırıq. Gəlin ayrıca bir səhifə yaradaq, satıcıların siyahısı ilə.

Məhsullarla olan tətbiqimizi açaq, və onun içində sellers qovluğu. Bu qovluqda fayl SellersList.jsx yaradaq. Burada biz useSelector, LinkselectAllSellers istifadə edəcəyik, onun kodunu biz sellersSlice.js faylında bir az sonra yazacayıq:

import { useSelector } from 'react-redux' import { Link } from 'react-router-dom' import { selectAllSellers } from './sellersSlice'

Sonra özümüz SellersList yaradaq. Onda biz bütün satıcıları useSelector hooku ilə alacayıq, sonra satıcıların siyahısı üçün verilməni map dövründə alacayıq, hər bir satıcının adı onun səhifəsinə keçid olacaq. Və sonda başlıq və alınmış siyahı ilə verilməni qaytaracayıq:

export const SellersList = () => { const sellers = useSelector(selectAllSellers) const sellersToRender = sellers.map((seller) => ( <li key={seller.id}> <Link to={`/sellers/${seller.id}`}>{seller.name}</Link> </li> )) return ( <div> <h2>Satıcılar:</h2> <ul>{sellersToRender}</ul> </div> ) }

Sonra sellersSlice.js faylına keçək və oxşar şəkildə productsSlice.js faylındakı selektorlar kimi, faylın ən sonunda, reducerin eksportundan sonra iki selektor yaradaq:

export const selectAllSellers = (state) => state.sellers export const selectSellerById = (state, sellerId) => state.sellers.find((seller) => seller.id === sellerId)

İndi bizim üçün siyahı səhifəsi üçün marşrutu yazmaq lazımdır, bunun üçün App.jsx faylını açaq və uşaq marşrutlarının massivinə children daha bir obyekt əlavə edək (SellersList komponentini import etməyi unutmayın):

{ path: '/sellers', element: <SellersList />, },

Menyudakı 'Satıcılar' keçidimizin işləməsi üçün, gəlin root.jsx faylına keçək (nə qədər vaxt keçib... ) və a teqini NavLink elementi ilə əvəz edək:

<NavLink to="/sellers" end> Satıcılar </NavLink>

Və sonuncu. Bizim menyuda aktiv keçidin vurğulanması üçün, və hansı səhifədə olduğumuzun başa düşülməsi üçün, biz index.css faylına stil əlavə edəcəyik:

nav a.active { color: purple; }

Tətbiqimizi işə salaq. İndi biz menyuda 'Satıcılar' üzərinə klikləməklə satıcıların səhifəsinə keçə bilərik. Əlbəttə, əvvəlcə menyuda 'Məhsullar' üzərinə klikləmək lazımdır, əks halda məhsullarımız yüklənməyəcək. Növbəti dərsdə biz hər bir satıcı üçün səhifə yaradacayıq və Redux üzrə bu dərsliyin öyrənilməsini bitirəcəyik.

Tələbələrinizlə olan tətbiqinizi açın. Dərsin materiallarını öyrənərək, teachers qovluğunda TeachersList.jsx faylını yaradın. Bu komponentin köməyi ilə siz müəllimlərin siyahısını çıxaracaqsınız. Ora lazımi komponentləri və hookları import edin.

TeachersList komponenti üçün kod yazın, onda bütün müəllimləri alın və müəllimlərin siyahısını teachersToRender hazırlayın, qoy bu siyahının hər sətirində onların soyadları və baş hərfləri göstərilsin, mötərizədə isə onların dərs dediyi fənn. Qoy hər bir FİA birlikdə hər bir müəllim üçün ayrıca səhifəyə aparan keçid olsun. Sonra komponentin kodunun sonunda başlıq və yaradılmış siyahı ilə verilməni qaytarın.

teachersSlice.js faylının sonunda dərsdə göstərildiyi kimi selectAllTeachersselectTeacherById cüt funksiya-selektorlar yaradın.

App.jsx faylında müəllimlərin səhifəsi üçün daha bir uşaq marşrutu qoşun.

root.jsx faylında menyuda 'Müəllimlər' üçün a teqini NavLink ilə əvəz edin, dərsdə göstərildiyi kimi. Aktiv keçidin menyuda nəyəsə görə vurğulanması üçün, buna görə index.css faylına stil əlavə edin.

Azərbaycan
AfrikaansБългарскиবাংলাБеларускаяČ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
Biz saytin işi, analitika və fərdiləşdirmə üçün cookie istifadə edirik. Məlumatların emalı Məxfilik Siyasəti əsasında həyata keçirilir.
hamısını qəbul et konfiqurasiya et rədd et