Löst: omdirigera med react router v6

Det största problemet med omdirigering med React Router v6 är att komponenten inte återrenderas när en omdirigering inträffar. Detta innebär att tillstånd eller rekvisita som är associerade med komponenten inte kommer att uppdateras när omdirigeringen sker, och eventuella ändringar som görs i dessa värden kommer inte att återspeglas på den nya sidan. Dessutom, eftersom React Router v6 inte stöder frågesträngar, kommer även alla frågeparametrar som skickas i URL:en att gå förlorade under en omdirigering.

import { Redirect } from "react-router-dom";

<Redirect to="/home" />

1. Den här raden importerar Redirect-komponenten från react-router-dom-biblioteket.

2. Den här raden återger en omdirigeringskomponent, som omdirigerar användaren till rutten "/hem".

Hur kan jag omdirigera i React Router v6

v6

React Router v6 tillhandahåller en ny komponent som kallas som kan användas för att omdirigera användare från en sida till en annan. För att använda den behöver du helt enkelt importera Redirect-komponenten från react-router-dom-paketet och sedan använda den i din ruttkonfiguration. När en användare besöker sökvägen som specificeras i 'från'-reklamen, kommer de att omdirigeras till sökvägen som anges i 'till'-rekvisiten. Till exempel:

importera { Redirect } från 'react-router-dom';
} />

Hur omdirigerar jag i react router v6 efter inloggning

Omdirigering efter en lyckad inloggning är en vanlig funktion i webbapplikationer. I React Router v6 kan du använda komponent för att omdirigera användaren efter en lyckad inloggning.

För att göra detta måste du skapa en rutt som kontrollerar om användaren är inloggad och sedan omdirigerar dem därefter. Till exempel:

{
if (är inloggad) {
avkastning ;
} Else {
avkastning ;
}
}} />

I det här exemplet kontrollerar vi om användaren är inloggad och renderar sedan LoginPage-komponenten eller omdirigerar dem till /dashboard. Du kan också skicka rekvisita till Redirect-komponenten så här: Detta gör att du kan hålla reda på var användaren var innan de omdirigerades.

Hur omdirigerar jag automatiskt i react

React Router tillhandahåller en omdirigeringskomponent som kan användas för att automatiskt omdirigera användare när vissa villkor är uppfyllda. För att använda den måste du passera den väg du vill omdirigera till som en rekvisita. Du kan även skicka in ett objekt med tillstånd och/eller frågeparametrar om det behövs.

För att omdirigera automatiskt måste du använda komponenten inom en ruttkomponent och ställa in ett villkor för när omdirigeringen ska ske. Om du till exempel vill omdirigera användare från startsidan för din applikation till inloggningssidan efter att de klickat på en länk, kan du göra något så här:


{är inloggad? : }

I det här exemplet använder vi den booleska variabeln isLoggedIn (som skulle behöva ställas in någon annanstans) som vårt villkor för när vi ska utföra omdirigeringen. Om det är sant, så återger vi vår Home-komponent; annars utför vi omdirigeringen.

Hur omdirigerar du efter 5 sekunder i reaktion

För att omdirigera efter 5 sekunder i React Router kan du använda funktionen setTimeout() för att anropa metoden history.push() med önskad rutt som argument.

Exempelvis:
importera { useHistory } från "react-router-dom";
const history = useHistory();
setTimeout(() => {
history.push(“/redirectedPage”);
}, 5000);

Relaterade inlägg:

1 tanke på “Löst: omdirigering med react router v6”

  1. Pingback: URL

Lämna en kommentar