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
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
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:
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);
1 tanke på “Löst: omdirigering med react router v6”