Ros*_*yba 4 redirect url-redirection reactjs react-router react-router-v4
我正在使用 React 和 React-router v4
这是我的路线组件:
<Switch>
{/* <Route path='/blog' exact component={Blog} /> */}
<Route path='/projects/:id' component={ProjectDetails} />
<Route path='/career/:id' component={CareerDetails} />
<Route path='/' component={withScrollPreservation(LandingPage)} />
<Route component={withScrollPreservation(LandingPage)} />
</Switch>
Run Code Online (Sandbox Code Playgroud)
我的问题是什么:
如果用户从路由中输入无效的内容,我希望它重定向到主页。考虑在本地运行这个场景:
localhost:4000/ - 主页
localhiost:4000/invalidurl- 应该重定向回localhost:4000/并从 url 中删除 invalidurl
有什么想法吗?
cha*_*212 10
您可以使用
import { Redirect } from 'react-router-dom';
Run Code Online (Sandbox Code Playgroud)
并将此路由添加到您的交换机中:
<Route render={() => <Redirect to={{pathname: "/"}} />} />
Run Code Online (Sandbox Code Playgroud)
它会捕捉任何没有路线的东西。
如果您想在输入无效路径字符串时重定向主页,请遵循此代码......
<Switch>
<Route exact path="/" component={Home} />
<Route path="/login" component={Login} />
<Route path="/signup" component={Signup} />
<Route path="/user" component={User} onEnter={this.requireAuth}/>
<Route path="*" component={Home} />
</Switch>
Run Code Online (Sandbox Code Playgroud)
这里我在路径中使用了 * ,这意味着如果路径字符串类型无效,那么它会自动重定向到主页。
| 归档时间: |
|
| 查看次数: |
8691 次 |
| 最近记录: |