Galvenā problēma, kas saistīta ar novirzīšanu, izmantojot React Router v6, ir tāda, ka komponents netiek atkārtoti renderēts, kad notiek novirzīšana. Tas nozīmē, ka neviens stāvoklis vai rekvizīti, kas saistīti ar komponentu, netiks atjaunināti, kad notiks novirzīšana, un visas šajās vērtībās veiktās izmaiņas netiks atspoguļotas jaunajā lapā. Turklāt, tā kā React Router v6 neatbalsta vaicājumu virknes, visi URL nosūtītie vaicājuma parametri tiks zaudēti arī novirzīšanas laikā.
import { Redirect } from "react-router-dom"; <Redirect to="/home" />
1. Šajā rindā tiek importēts komponents Redirect no react-router-dom bibliotēkas.
2. Šī rinda atveido Redirect komponentu, kas novirzīs lietotāju uz “/home” maršrutu.
Kā es varu novirzīt React Router v6
v6
React Router v6 nodrošina jaunu komponentu ar nosaukumu
importēt { Redirect } no 'react-router-dom';
Kā pēc pieteikšanās pāradresēt react maršrutētājā v6
Pāradresācija pēc veiksmīgas pieteikšanās ir izplatīta tīmekļa lietojumprogrammu funkcija. React Router v6 varat izmantot
Lai to izdarītu, jums būs jāizveido maršruts, kas pārbauda, vai lietotājs ir pieteicies, un pēc tam attiecīgi novirza viņu. Piemēram:
if (isLoggedIn) {
atgriešanās
} Vēl {
atgriešanās
}
}} />
Šajā piemērā mēs pārbaudām, vai lietotājs ir pieteicies, un pēc tam atveido LoginPage komponentu vai novirza to uz /dashboard. Varat arī nodot rekvizītus komponentam Redirect, piemēram:
Kā automātiski pāradresēt react
React Router nodrošina novirzīšanas komponentu, ko var izmantot, lai automātiski novirzītu lietotājus, ja ir izpildīti noteikti nosacījumi. Lai to izmantotu, jums ir jāiet ceļā, uz kuru vēlaties novirzīt kā rekvizītu. Ja nepieciešams, varat arī nodot objektu ar stāvokļa un/vai vaicājuma parametriem.
Lai automātiski novirzītu, jums būs jāizmanto komponents maršruta komponentā un jāiestata nosacījums, kad jānotiek novirzīšanai. Piemēram, ja vēlaties novirzīt lietotājus no savas lietojumprogrammas sākumlapas uz pieteikšanās lapu pēc tam, kad viņi noklikšķina uz saites, varat rīkoties šādi:
{isLoggedIn ?
Šajā piemērā mēs izmantojam isLoggedIn Būla mainīgo (kas būtu jāiestata kaut kur citur) kā nosacījumu, kad mums jāveic novirzīšana. Ja tā ir patiesība, mēs atveidojam mūsu mājas komponentu; pretējā gadījumā mēs veicam novirzīšanu.
Kā jūs pāradresējat pēc 5 sekundēm react
Lai pāradresētu pēc 5 sekundēm programmā React Router, varat izmantot funkciju setTimeout(), lai izsauktu metodi history.push() ar vēlamo maršrutu kā argumentu.
Piemērs:
importēt { useHistory } no “react-router-dom”;
const vēsture = useHistory();
setTimeout(() => {
history.push(“/redirectedPage”);
}, 5000);
1 doma par tēmu “Atrisināts: novirzīšana ar react router v6”