如何检查递归路径Url是否在React Router中

时间:2018-11-13 13:36:04

标签: reactjs react-router react-router-dom

如何检查递归路径是否在React Router中,这

import { Switch, Route, Redirect } from 'react-router-dom';
<Switch>
    <Route exact path="/" component={SignIn} />
    <Route path="/signup" component={SignUp} />
    <Route path="/forget-password" component={ForgetPasswordPage} />
    <Route path="/reset-password" component={ResetPasswordPage} />
    <Route component={PageNotFound} />
</Switch>

在我的浏览器中,如果我输入了错误的网址(http://0.0.0.0:3000/dgdfg),则会带我到PageNotFound 但是,如果我给出(http://0.0.0.0:3000/signup/dgdfg,它并不能带我去PageNotFound,它会显示空白页。如何使用React Router v4解决此问题

1 个答案:

答案 0 :(得分:1)

如果将注册路径更改为完全,则将导致未找到页面的答案。这是因为没有“精确”页面就可以解析为您的SignUp组件,因为它实际上在路径中具有/ signup。

import { Switch, Route, Redirect } from 'react-router-dom';
<Switch>
   <Route exact path="/" component={SignIn} />
   <Route exact path="/signup" component={SignUp} />
   <Route path="/forget-password" component={ForgetPasswordPage} />
   <Route path="/reset-password" component={ResetPasswordPage} />
   <Route component={PageNotFound} />
</Switch>