2 votes

Le routeur React No Match 404 ne fonctionne pas lorsqu'il est déployé ?

J'ai ajouté une page d'erreur No Match 404 à mon site web, et cela fonctionne bien lorsque je vais au mauvais chemin sur localhost, mais après avoir déployé et être allé à un chemin invalide comme .../invalidpath, j'obtiens l'erreur de page non trouvée par défaut de netlify. Voici mon composant App.js :

import React from 'react';
import { Switch, Route } from 'react-router-dom';
import Navigation from './components/navigation/Navigation';
import Home from './pages/home/Home';
import Projects from './pages/projects/Projects';
import Contact from './pages/contact/Contact';
import NoMatch from './pages/404page/404Page';

import './App.scss';

function App() {
  return (
    <div className='app'>
      <Navigation />
      <Switch>
        <Route exact path='/' component={Home} />
        <Route path='/projects' component={Projects} />
        <Route path='/contact' component={Contact} />
        <Route path='*' component={NoMatch} />
      </Switch>
    </div>
  );
}

export default App;

2voto

Juan Marco Points 101

Si vous avez construit l'application avec create-react-app et que vous déployez vers Netlify, vous devez ajouter un fichier _redirect à l'intérieur du fichier public de votre projet afin de supporter le routage côté client (React Router). Il devrait contenir ceci :

/*  /index.html  200

Détails aquí

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X