簡體   English   中英

部署時反應路由器無匹配 404 不起作用?

[英]React router No Match 404 not working when deployed?

我在我的網站上添加了一個 No Match 404 錯誤頁面,當我轉到 localhost 上的錯誤路徑時它工作正常,但是在我部署並轉到一個無效路徑后,例如 .../invalidpath 我得到了默認的 netlify 頁面未找到錯誤。 下面是我的 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;

如果你已經用create-react-app構建了應用create-react-app並且你正在部署到 Netlify,你需要在你的項目的public目錄中添加一個_redirect文件以支持客戶端路由(反應路由器)。 里面應該有這個:

/*  /index.html  200

詳情在這里

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM