0
我想處理的情況下,用戶正在寫一個不存在的路徑。例如 - 如果用戶點擊Will Not Match
鏈接,那麼NoMatch
組件按預期呈現。NoMatch的反應路由器
但是,如果用戶轉到url並將其更改爲「/ abcd」,則會向服務器發送GET請求並返回錯誤,因此沒有使用反應路由器。我怎樣才能讓NoMatch
組件在這種情況下呈現?
我正在使用react-router v4,順便說一句。
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>
)
}
}