Suurin React Router 404 -uudelleenohjaukseen liittyvรค ongelma on, ettรค sen toteuttaminen voi olla vaikeaa. Koska React Routerissa ei ole sisรครคnrakennettua 404-sivua, kehittรคjien on luotava manuaalisesti reitti 404-sivulle ja mรครคritettรคvรค reititin ohjaamaan uudelleen kaikki pyynnรถt, jotka eivรคt vastaa olemassa olevaa reittiรค. Tรคmรค vaatii lisรคkoodia ja -mรครคrityksiรค, mikรค voi olla aikaa vievรครค ja vaikeaa virheenkorjaus, jos jokin menee pieleen. Lisรคksi, jos kรคyttรคjรค siirtyy suoraan URL-osoitteeseen, jota ei ole olemassa, hรคn nรคkee silti virhesivun sen sijaan, ettรค hรคnet ohjattaisiin 404-sivulle.
import { BrowserRouter as Router, Route, Switch } from "react-router-dom"; const App = () => ( <Router> <Switch> <Route exact path="/" component={Home} /> <Route exact path="/about" component={About} /> {/* 404 Redirect */} <Route render={() => (<Redirect to="/" />)} /> </Switch> </Router> );
// Rivi 1: Tรคmรค rivi tuo BrowserRouter-, Route- ja Switch-komponentit react-router-dom-kirjastosta.
// Rivi 3: Tรคmรค rivi mรครคrittรครค funktion nimeltรค App, joka palauttaa JSX:n.
// Rivit 5-7: Nรคmรค rivit kรครคrivรคt sovelluskomponentin reititinkomponenttiin react-router-domista.
// Rivit 8-10: Nรคmรค rivit mรครคrittelevรคt kaksi reittiรค Home- ja About-komponenteille.
// Rivi 12: Tรคmรค rivi mรครคrittรครค reitin, joka ohjaa kotisivulle, jos muuta reittiรค ei lรถydy.
Mikรค on 404-virhekoodi
React Routerin virhekoodi 404 on HTTP-tilakoodi, joka osoittaa, ettรค pyydettyรค resurssia ei lรถydy. Se palautetaan yleensรค, kun kรคyttรคjรค yrittรครค kรคyttรครค sivua tai reittiรค, jota ei ole olemassa. Tรคmรค voi tapahtua, jos kรคyttรคjรค on kirjoittanut URL-osoitteen vรครคrin tai jos sivu on poistettu tai siirretty pรคivittรคmรคttรค sen linkkejรค. Kun nรคin tapahtuu, React Router nรคyttรครค yleisen 404-sivun, jossa on asianmukainen viesti, joka ilmoittaa kรคyttรคjรคlle virheestรค.
404 uudelleenohjaus
React Routerissa 404-uudelleenohjaus on tapa ohjata kรคyttรคjรคt toiselle sivulle, kun he yrittรคvรคt kรคyttรครค virheellistรค URL-osoitetta. Tรคmรค voi olla hyรถdyllistรค tarjota kรคyttรคjille parempi kรคyttรถkokemus, kun he kirjoittavat vรครคrรคn URL-osoitteen tai yrittรคvรคt pรครคstรค sivulle, jota ei ole olemassa. 404-uudelleenohjaus voidaan toteuttaa React Routerin Redirect-komponentilla, jonka avulla voit mรครคrittรครค sen sivun polun, jolle haluat ohjata kรคyttรคjรคn. Jos esimerkiksi joku yrittรครค kรคyttรครค osoitetta /invalid-url, voit kรคyttรครค uudelleenohjauskomponenttia seuraavasti: