⊗jsrxPmATSL 56 of 57 menu

Reduxда сотилувчилар рўйхати

Олдинги дарсларда биз асосий material билан якунладик. Энди thunk ёрдамида биз сервердан маҳсулотлар рўйхатини оламиз ва серверда янги маҳсулотни сақлай оламиз. Келинг, сотилувчилар билан иш кўриб чиқайлик. Axir биз улар учун ҳам маълумот оламиз. Келинг, сотилувчилар рўйхати бўлган алохида саҳифа ясайлик.

Маҳсулотлар дастуримизни ochamiz, ундаги sellers папкасини ochamiz. Ушбу папкада SellersList.jsx файлини яратамиз. Биз бу ерда useSelector, Link ва selectAllSellersдан фойдаланамиз, унинг кодини биз keyinroq sellersSlice.js файлида ёзамиз:

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

Keyin SellersList ни яратамиз. Унда биз useSelector хуки ёрдамида барча сотилувчиларни оламиз, сўнгра map циклида сотилувчилар рўйхати учун верстка оламиз, ҳар бир сотилувчи номи бизни унинг саҳифасига олиб боради. Ва oxirida sarlavha ва олинган рўйхат билан версткани қайтарамиз:

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>Sellers:</h2> <ul>{sellersToRender}</ul> </div> ) }

Keyin sellersSlice.js файлига кирамиз ва ўхшаш productsSlice.js файлидаги селекторлар каби унга ўхшаш редьюсер экспортидан кейин файлнинг eng oxirida иккита селектор яратамиз:

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

Энди биз рўйхат саҳифаси учун маршрутни ёзишимиз керак, бунинг учун App.jsx файлини ochib, children бола маршрутлар массивига яна бир объект қўшамиз (SellersList компонентини импорт қилишни унутманг):

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

Менюдаги 'Sellers' ҳаволамиз ишлаши учун, root.jsx файлига кирамиз (канчадан бери бу ... ) ва a тегини NavLink элементига алмаштирамиз:

<NavLink to="/sellers" end> Sellers </NavLink>

Ва oxirги иш. Менюда фаол ҳавола ajралиб туриши учун, биз қайси саҳифада эканимиз аник бўлиши учун, биз index.css файлига uslub қўшамиз:

nav a.active { color: purple; }

Дастуримизни ишга туширамиз. Энди биз менюдаги 'Sellers' устига босиб, сотилувчилар саҳифасига кира оламиз. Албатта, аввал менюдаги 'Products' устига босиб кўйишингиз керак, акс ҳолда маҳсулотларимиз юкланмайди. Keyingi дарсда биз ҳар бир сотилувчи учун алохида саҳифа ястамиз ва Redux буйича ўқув дастурини ўрганишни якунламиз.

Сизнинг ўқувчилар дастурингизни oching. Дарс materialларини ўрганиб чиққандан сўнг, teachers папкасида TeachersList.jsx файлини яратинг. Ушбу компонент ёрдамида сиз ўқитувчилар рўйхатини чиқарасиз. Унга зарур бўлган компонент ва хукларни импорт қилинг.

TeachersList компоненти учун код ёзинг, унда барча ўқитувчиларни олинг ва teachersToRender ўқитувчилар рўйхатини яратинг, har bir ўқитувчининг фамилияси ва инициаллари кўрсатилсин, qavs ichida уларнинг ўқитиш фанлари кўрсатилсин. Ҳар бир ФИО ҳавола бўлиб, у ҳар бир ўқитувчининг алохида саҳифасига олиб боради. Сўнгра компонент кодининг oxirida sarlavha ва яратилган рўйхат билан версткани қайтаринг.

teachersSlice.js файлининг oxirida жуфт функция-селекторлар selectAllTeachers ва selectTeacherById ни яратинг, дарсда кўрсатилгани каби.

App.jsx файлида ўқитувчилар саҳифаси учун яна бир бола маршрутни улаинг.

root.jsx файлидаги менюда 'Teachers' учун a тегини NavLink биан алмаштиринг, дарсда кўрсатилгани каби. Фаол ҳавола менюда ажралиб туриши учун, бунинг учун index.css файлига uslub қўшинг.

Ўзбек
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeOʻzbekTiếng Việt
Биз веб-сайт ишлаши, таҳлил қилиш ва персоналлаштириш учун кукидан фойдаланамиз. Маълумотларни қайта ишлаш Махфийлик сиёсатига мувофиқ амалга оширилади.
ҳаммасини қабул қилиш мослаштириш рад этиш