⊗jsrxPmATSP 57 of 57 menu

Страна продавца у Redux-у

Остало је још само мало. Хајде да на овом часу урадимо последњу ствар - додамо у нашу апликацију засебну страницу за сваког продавца. Овде ће бити само већ познате вам радње. Приступимо.

Отворимо нашу апликацију са производима, а у њој фасциклу sellers. Направимо у овој фасцикли фајл SellerPage.jsx. Сада ћемо почети да пишемо код SellerPage за наш компонент:

export const SellerPage = () => {}

За почетак ћемо добити id продавца и по њему пронаћи објекат траженог продавца у слајсу:

export const SellerPage = () => { let params = useParams() const { sellerId } = params const seller = useSelector((state) => selectSellerById(state, sellerId)) }

Затим ниже у коду за SellerPage после добијања продавца ћемо добити све производе, а затим изабрати из њих само оне, које је објавио дати продавац:

const productsOfSeller = useSelector((state) => { const allProducts = selectAllProducts(state) return allProducts.filter((product) => product.seller === sellerId) })

А затим ћемо из имена изабраних производа формирати листу помоћу map. Притом свако име производа у овој листи ће бити линк на страницу тог производа:

const productNames = productsOfSeller.map((product) => ( <li key={product.id}> <Link to={`/products/${product.id}`}>{product.name}</Link> </li> ))

И на крају кода за SellerPage вратимо верстку: наслов са именом продавца и листу производа, које је објавио овај продавац:

return ( <div> <h2>Продавац: {seller.name}</h2> <ul>{productNames}</ul> </div> )

Наравно да нам је још потребна рута за страницу продавца. Отворимо фајл App.jsx и додајмо је последњом међу дечјим рутама:

{ path: '/sellers/:sellerId', element: <SellerPage />, },

Не заборавите да увезете потребне хукове и компоненте у SellersPage.jsx и App.jsx.

Покренимо нашу апликацију, учитајмо производе, а затим у менију са леве стране кликнемо на линк 'Sellers'. Сада можемо да уђемо на страницу било ког продавца, кликнувши на његово име, а затим на његовој страници видимо све његове производе. А, кликнувши на било који од његових производа, ући ћемо на страницу са тим производом.

На томе је за сада све. Истражили смо основе Redux-а за прављење апликације и чак мало дубље. Упознали смо се са разним корисним алатима. Желим вам пуно среће у прављењу ваших Redux апликација!

Отворите вашу апликацију са студентима. Проучавајући материјал са часа, у фасцикли teachers направите фајл TeacherPage.jsx. У коду компонента TeacherPage добијте објекат са траженим учитељем и све студенте датог предавача. Помоћу map направите из њих листу, нека пуно име сваког студента буде линк на страницу тог студента.

Нека у враћеној верстки код вас буде наслов са пуним именом предавача, испод буде наслов мањи - са предметом, који он предаје, а још испод листа његових студената.

У App.jsx повежите још једну дечју руту за страницу са предавачем.

Покрените вашу апликацију и уверите се, да све ради.

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