Atrisināts: novirzīt ar react maršrutētāju v6

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 ko var izmantot, lai novirzītu lietotājus no vienas lapas uz citu. Lai to izmantotu, jums vienkārši jāimportē Redirect komponents no react-router-dom pakotnes un pēc tam jāizmanto maršruta konfigurācijā. Kad lietotājs apmeklē priekšnostādnē “no” norādīto ceļu, viņš tiks novirzīts uz rekvizītā “uz” norādīto ceļu. Piemēram:

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 komponents, lai novirzītu lietotāju pēc veiksmīgas pieteikšanās.

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: Tas ļauj jums izsekot, kur lietotājs atradās pirms viņa novirzīšanas.

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);

Related posts:

1 doma par tēmu “Atrisināts: novirzīšana ar react router v6”

  1. Pingback: URL

Leave a Comment