Решено: страница за поновно учитавање реацт рутера није пронађена

Главни проблем везан за Реацт Роутер страницу за поновно учитавање која није пронађена је тај што када корисник освежи страницу, претраживач ће покушати да упути захтев серверу за тренутни УРЛ. Међутим, пошто је Реацт Роутер рутирање на страни клијента, не постоји одговарајућа рута сервера за УРЛ и стога се враћа грешка 404 Нот Фоунд. Ово може бити посебно проблематично ако корисници очекују да ће се одређени садржај појавити приликом освежавања.

import { BrowserRouter as Router, Route, Switch } from "react-router-dom";

const App = () => (
  <Router>
    <Switch>
      <Route exact path="/" component={Home} />
      <Route path="/about" component={About} />

      {/* Page Not Found */}
      <Route render={() => (<h1>Page not found</h1>)} />

    </Switch>
  </Router>  
);

// Линија 1: Ова линија увози компоненте БровсерРоутер, Роуте и Свитцх из библиотеке реацт-роутер-дом.

// Линија 3: Ова линија дефинише функцију под називом Апп која враћа ЈСКС код.

// Ред 5: Ова линија умотава цео ЈСКС код у компоненту рутера из реацт-роутер-дом.

// Линија 6: Ова линија умотава све руте у компоненту Свитцх из реацт-роутер-дом.

// Редови 7 – 9: Ови редови дефинишу две руте за '/' и '/абоут' са њиховим одговарајућим компонентама (Хоме и Абоут).

// Редови 11 – 12: Ови редови дефинишу руту када се ниједна друга рута не подудара, што приказује х1 ознаку која каже „Страница није пронађена“.

Страница није пронађена грешка

Грешка „Страница није пронађена“ у Реацт Роутер-у је грешка која се јавља када корисник покуша да приступи страници или рути која не постоји. Ово се може десити ако је корисник погрешно унео УРЛ или ако је страница којој покушава да приступи уклоњена или премештена. У Реацт рутеру, ова грешка се решава коришћењем компоненте за рендеровање и прослеђивање функције која враћа 404 страницу. Ово омогућава програмерима да креирају прилагођене 404 странице са садржајем који желе, као што су корисне везе или порука извињења.

Како да поступам са Страница није пронађена у реаговању рутера

Када користите Реацт Роутер, можете да рукујете страницом која није пронађена креирањем прилагођене руте која ће приказати компоненту НотФоунд када се УРЛ не подудара ни са једном од постојећих рута. Да бисте то урадили, потребно је да креирате нову руту са путањом постављеном на „*“ и рендерујете вашу НотФоунд компоненту.

На пример:

} />

Ово ће одговарати било којој УРЛ адреси која се већ не подудара са постојећом рутом и приказати вашу НотФоунд компоненту.

Како да присилим страницу која реагује да се поново учита

У Реацт Роутер-у, можете натерати страницу да се поново учита коришћењем методе замене на објекту историје. Ово ће заменити тренутни унос у стеку историје новим, чиме ће се страница поново учитати. Да бисте користили овај метод, прво морате да добијете приступ објекту историје. То можете учинити тако што ћете га проследити као пропс када креирате компоненту рутера:

цонст АппРоутер = () => (

{/* Ваше руте овде */}

);

Када имате приступ објекту историје, можете користити његову методу замене на следећи начин:

хистори.реплаце('/соме-роуте');

Релатед постс:

Оставите коментар