⊗jsrtPmRtRd 41 of 47 menu

Omdirigering till en annan rutt i React Router

Nu sparas data som anges i formuläret vid redigering av produkten, men det finns ett MEN - efter att data har sparats stannar vi kvar på sidan med formuläret, och vi måste komma tillbaka till produktsidan. Omdirigering kommer att hjälpa oss med detta, som vi kommer att bekanta oss med i den här lektionen.

Låt oss öppna filen edit.jsx och importera redirect från biblioteket:

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

Och sedan se till att funktionen action nu returnerar inte 1, utan omdirigerar oss till den önskade rutten. I det här fallet behöver vi återgå tillbaka till produktsidan:

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

Nu, när vi klickar på spara-knappen, kommer vi tillbaka till produktsidan med uppdaterad data.

Vi kan göra samma sak även för att lägga till en ny produkt, eftersom det förmodligen vore bekvämare att direkt komma till formuläret och fylla i det. Låt oss göra så.

Först måste vi nu öppna filen root.jsx och importera redirect, eftersom tillägg av produkter sker på rotsidan:

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

Ta funktionen action igen och kommer nu att returnera inte product, utan göra en omdirigering till redigeringssidan:

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

Låt oss testa även detta. Klicka nu på knappen för att lägga till produkt och vi kommer att se formuläret för dess redigering.

Ta applikationen som du skapade i uppgifterna till tidigare lektioner. Använd lektionens material, implementera i den en omdirigering till studentsidan efter att ha klickat på spara-knappen på sidan med formuläret.

Och implementera nu en omdirigering från huvudsidan till sidan med formuläret för att redigera studentdata efter klick på knappen för att lägga till student i listan.

Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa