1
404ルートを設定しようとしています。これは、react-router-domのSwitchコンポーネントを使用している理由です。私が入れたパスは、引き続きホームルートをレンダリングします。react-router-domのSwitchステートメントは、常にホームルートをロードしており、他のルートはロードしていません。
import React, { Component } from 'react';
import ExpenseDashboard from './components/ExpenseDashboard'
import AddExpensePage from './components/AddExpensePage'
import HelpPage from './components/HelpPage';
import EditPage from './components/EditPage';
import Header from './components/Header';
import NoMatch from './components/NoMatch';
import {BrowserRouter, Route, Switch} from 'react-router-dom';
class App extends Component {
render() {
return (
<BrowserRouter>
<Switch>
<Route exact path='/' component={ExpenseDashboard} />
<Route path='/create' component={AddExpensePage} />
<Route path='/Edit' component={EditPage} />
<Route path='/Help' component={HelpPage} />
<Route component={NoMatch} />
</Switch>
</BrowserRouter>
);
}
}
export default App;
これは上記のスイッチコンポーネントを使用しているアプリケーションコンポーネントです。 ExpenseDashboardはロードし続けます。
私はreact-router-dom 4.2
とreact v16
を使用しており、このプロジェクトを行うにはcreate-react-app
を使用しています。
ご協力いただければ幸いです!
<Route exact path='/' component={ExpenseDashboard} />
OR '正確' は削除します
あなたはあなたの404ルートに 'パス= "*" を'追加することはできますか? ' ' –
ton
あなたのコードは期待通りに動作します。 https://codesandbox.io/s/x2q2jz2l3oにサンドボックスを作成し、期待される出力を示しています。 – palsrealm