0
私は、ユーザーが存在しないパスを記述している状況を処理しようとしています。たとえば、ユーザーがWill Not Match
リンクをクリックした場合は、NoMatch
コンポーネントが期待通りにレンダリングされます。反応ルータのNoMatch
ただし、ユーザーがURLにアクセスして「/ abcd」に変更すると、GETリクエストがサーバーに送信され、エラーが返されるため、反応ルータは使用されません。この場合でもNoMatch
コンポーネントがレンダリングされるようにするにはどうすればよいですか?
私はreact-router v4、BTWを使用しています。
import { BrowserRouter as Router, Route, Link, Switch } from 'react-router-dom'
const NoMatch = ({ location }) => (
<div>
<h3>No match for <code>{location.pathname}</code></h3>
</div>
)
class App extends React.Component {
render(){
return (
<Router>
<div>
<Link to="/page1">page1</Link>
<Link to="/page2">page2</Link>
<Link to="/will/not/match">Will Not Match</Link>
<Switch>
<Route exact path="/" component={Home}/>
<Route path="/page1" component={page1}/>
<Route path="/page2" component={page2}/>
<Route component={NoMatch}/>
</Switch>
</div>
</Router>
)
}
}