⊗jsrxPmATSP 57 of 57 menu

Σελίδα πωλητή στο Redux

Έμεινε πολύ λίγο. Ας κάνουμε στο τρέχον μάθημα το τελευταίο πράγμα - ας προσθέσουμε στην εφαρμογή μας μια ξεχωριστή σελίδα για κάθε πωλητή. Εδώ θα υπάρχουν μόνο ήδη γνωστές σε εσάς ενέργειες. Ας ξεκινήσουμε.

Ας ανοίξουμε την εφαρμογή μας με τα προϊόντα, και σε αυτήν τον φάκελο sellers. Ας δημιουργήσουμε σε αυτόν τον φάκελο το αρχείο SellerPage.jsx. Τώρα ας αρχίσουμε να γράφουμε κώδικα SellerPage για το component μας:

export const SellerPage = () => {}

Για αρχή ας πάρουμε το id του πωλητή και βάσει αυτού ας βρούμε το αντικείμενο του απαιτούμενου πωλητή στο slice:

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 />, },

Μην ξεχάσετε να εισαγάγετε τα απαραίτητα hooks και components στα SellersPage.jsx και App.jsx.

Ας εκκινήσουμε την εφαρμογή μας, ας φορτώσουμε τα προϊόντα, και έπειτα στο αριστερό μενού ας κλικάρουμε στο σύνδεσμο 'Sellers'. Τώρα μπορούμε να μπούμε στη σελίδα οποιουδήποτε πωλητή, κλικάροντας στο όνομα του, και έπειτα στη σελίδα του να δούμε όλα τα προϊόντα του. Και, κλικάροντας σε οποιοδήποτε από τα προϊόντα του, θα μπούμε στη σελίδα με αυτό το προϊόν.

Μέχρι εδώ όλα. Μελετήσαμε τα βασικά του Redux για τη δημιουργία εφαρμογών και ακόμη λίγο περισσότερο. Γνωριστήκαμε με διάφορα χρήσιμα εργαλεία. Σας εύχομαι καλή τύχη στη δημιουργία των Redux-εφαρμογών σας!

Ανοίξτε την εφαρμογή σας με τους μαθητές. Έχοντας μελετήσει τα υλικά του μαθήματος, στον φάκελο teachers δημιουργήστε το αρχείο TeacherPage.jsx. Στον κώδικα του component TeacherPage πάρτε το αντικείμενο με τον απαιτούμενο δάσκαλο και όλους τους μαθητές αυτού του καθηγητή. Με τη βοήθεια του map δημιουργήστε από αυτούς μια λίστα, αφήστε το πλήρες όνομα κάθε μαθητή να είναι σύνδεσμος προς τη σελίδα αυτού του μαθητή.

Ας υπάρχει στην επιστρεφόμενη δομή μια επικεφαλίδα με το πλήρες όνομα του καθηγητή, παρακάτω μια μικρότερη επικεφαλίδα - με το μάθημα, που διδάσκει, και ακόμη πιο κάτω η λίστα των μαθητών του.

Στο App.jsx συνδέστε ακόμη μια θυγατρική διαδρομή για τη σελίδα του καθηγητή.

Εκκινήστε την εφαρμογή σας και βεβαιωθείτε, ότι όλα λειτουργούν.

Ελληνικά
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Χρησιμοποιούμε cookie για τη λειτουργία του ιστότοπου, την ανάλυση και την εξατομίκευση. Η επεξεργασία των δεδομένων γίνεται σύμφωνα με την Πολιτική Απορρήτου.
αποδοχή όλων ρύθμιση απόρριψη