⊗jsrtPmRtRd 41 of 47 menu

Ανακατεύθυνση σε διαφορετική διαδρομή στο React Router

Τώρα τα δεδομένα που εισάγονται στη φόρμα κατά την επεξεργασία του προϊόντος αποθηκεύονται, αλλά υπάρχει ένα ΑΛΛΑ - μετά την αποθήκευση των δεδομένων παραμένουμε στη σελίδα με τη φόρμα, ενώ εμείς πρέπει να επιστρέψουμε στη σελίδα του προϊόντος. Σε αυτό θα μας βοηθήσει η ανακατεύθυνση, με την οποία θα γνωριστούμε σε αυτό το μάθημα.

Ας ανοίξουμε το αρχείο edit.jsx και να εισάγουμε το redirect από τη βιβλιοθήκη:

import { redirect } from 'react-router-dom';

Και μετά ας κάνουμε τη συνάρτηση action να επιστρέφει τώρα όχι 1, αλλά να μας ανακατευθύνει στη σωστή διαδρομή. Σε αυτή την περίπτωση πρέπει να επιστρέψουμε πίσω στη σελίδα του προϊόντος:

return redirect(`/products/${params.productId}`);

Τώρα, πατώντας το κουμπί αποθήκευσης, εμφανιζόμαστε πίσω στη σελίδα του προϊόντος με τα ενημερωμένα δεδομένα.

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

Για αρχή, τώρα πρέπει να ανοίξουμε το αρχείο root.jsx και να εισάγουμε το redirect, αφού η προσθήκη προϊόντων γίνεται στην κορυφαία σελίδα:

import { redirect } from 'react-router-dom';

Παίρνουμε πάλι τη συνάρτηση action και τώρα θα επιστρέφουμε όχι product, αλλά θα κάνουμε ανακατεύθυνση στη σελίδα επεξεργασίας:

return redirect(`/products/${product.id}/edit`);

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

Πάρτε την εφαρμογή που δημιουργήσατε στα παραδοτέα στα προηγούμενα μαθήματα. Χρησιμοποιώντας το υλικό του μαθήματος, υλοποιήστε σε αυτήν την ανακατεύθυνση στη σελίδα του μαθητή μετά από πάτημα του κουμπιού αποθήκευσης δεδομένων στη σελίδα με τη φόρμα.

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

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