⊗jsrtPmRtRd 41 of 47 menu

Przekierowanie na inną trasę w React Router

Teraz dane wprowadzone do formularza przy edycji produktu są zapisywane, ale jest jedno ALE - po zapisaniu danych pozostajemy na stronie z formularzem, a my musimy wrócić na stronę produktu. W tym pomoże nam przekierowanie, z którym zapoznamy się w tej lekcji.

Otwórzmy plik edit.jsx i zaimportujmy redirect z biblioteki:

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

A następnie sprawmy, że funkcja action będzie teraz zwracać nie 1, a przekierowywać nas na potrzebną trasę. W tym przypadku my musimy wrócić z powrotem na stronę produktu:

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

Teraz, klikając przycisk zapisywania, my wracamy z powrotem na stronę produktu z zaktualizowanymi danymi.

Wszystko to samo możemy wykonać i dla dodania nowego produktu, ponieważ prawdopodobnie byłoby wygodniej od razu przejść do formularza i wypełnić go. Zróbmy tak.

Na początku musimy teraz otworzyć plik root.jsx i zaimportować redirect, ponieważ dodawanie produktów odbywa się na stronie głównej:

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

Ponownie bierzemy funkcję action i teraz będziemy zwracać nie product, a wykonywać przekierowanie na stronę edycji:

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

Sprawdźmy i to. Kliknijmy teraz na przycisk dodania produktu i zobaczymy formularz do jego edycji.

Weź aplikację stworzoną przez ciebie w zadaniach do poprzednich lekcji. Korzystając z materiałów lekcji, zaimplementuj w niej przekierowanie na stronę studenta po naciśnięciu przycisku zapisywania danych na stronie z formularzem.

A teraz zaimplementuj przekierowanie ze strony głównej na stronę z formularzem edycji danych studenta po kliknięciu przycisku dodania studenta do listy.

Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć