⊗jsrxPmRDASTP 28 of 57 menu

Προσθήκη πληροφοριών πωλητή στο Redux

Μιλήσαμε νωρίτερα για το γεγονός ότι τα προϊόντα μας προστίθενται στην εφαρμογή από πωλητές. Ας προβάλουμε πληροφορίες για τον πωλητή κατά την προσθήκη ενός νέου προϊόντος.

Ανοίξτε την εφαρμογή προϊόντων μας, και σε αυτή το αρχείο productsSlice.js. Ας μεταβιβάσουμε στο prepare μια ακόμη παράμετρο, ας την ονομάσουμε sellerId και ας την ορίσουμε στη συνέχεια για το payload της ενέργειας. Τώρα το κομμάτι κώδικα για το prepare θα είναι ως εξής:

prepare(name, desc, price, amount, sellerId) { return { payload: { id: nanoid(), name, desc, price, amount, seller: sellerId, }, } },

Τώρα πρέπει να κάνουμε μια σειρά αλλαγών στο αρχείο της φόρμας για προσθήκη προϊόντος NewProductForm.jsx. Αρχικά, ας προσθέσουμε μια ακόμη τοπική κατάσταση για το id του πωλητή:

const [sellerId, setSellerId] = useState('')

Στη συνέχεια, μετά τη δήλωση της μεταβλητής dispatch για το useDispatch, ας προσθέσουμε κώδικα για τη λήψη της τομής των πωλητών από την κατάσταση χρησιμοποιώντας το hook useSelector:

const sellers = useSelector((state) => state.sellers)

Στους χειριστές για τα πεδία εισαγωγής, ας προσθέσουμε έναν ακόμη:

const onSellerChanged = (e) => setSellerId(e.target.value)

Ας τροποποιήσουμε το onSaveProductClick, προσθέτοντας στην ενέργεια productAdded και το sellerId:

dispatch(productAdded(name, desc, price, amount, sellerId))

Ανοίξτε την εφαρμογή σας με τους φοιτητές. Προσθέστε τη δυνατότητα εισαγωγής πληροφοριών για τον καθηγητή που πρόσθεσε τους φοιτητές. Για αυτό, μελετώντας το υλικό του μαθήματος, κάντε αλλαγές για τη συνάρτηση prepare στο αρχείο studentsSlice.js.

Κάντε τις αντίστοιχες αλλαγές στο αρχείο NewStudentForm.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 για τη λειτουργία του ιστότοπου, την ανάλυση και την εξατομίκευση. Η επεξεργασία των δεδομένων γίνεται σύμφωνα με την Πολιτική Απορρήτου.
αποδοχή όλων ρύθμιση απόρριψη