reactjs - 如何在react-router-dom中正确定义后备路由

标签 reactjs react-router-dom

我有以下Router定义:

<Router>
    <Route exact path='/' component={Home}/>
    <Route path='/about' component={About}/>
    <Route path='/code' component={Code}/>
</Router>

我希望任何未映射的路由(即 /foo )重定向回根 / .

我试过<Redirect .../>没有成功。还添加 <Route />没有path=导致每个页面上都有重复的组件。

最佳答案

只需在底部放置一个重定向,如下所示,并使用 Switch 包装您的路由:

<Router>
    <Switch>
        <Route exact path='/' component={Home}/>
        <Route path='/about' component={About}/>
        <Route path='/code' component={Code}/>

        // Redirect all 404's to home
        <Redirect to='/' />
    </Switch>
</Router>

关于reactjs - 如何在react-router-dom中正确定义后备路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56684856/

相关文章:

javascript - 如何将 React 库提取到单独的包中?

reactjs - 如何在react-router-dom v6中的事件NavLink中显示不同的图标?

javascript - React-router-dom - 链接更改 url 但不呈现

javascript - 将状态作为 prop 发送到 react <Route component={COMPONENT_NAME}>

javascript - 使用 withStyles 导出子组件时如何访问父组件中的 refs?

javascript - react.js firebase 返回一个处于错误状态的响应对象

javascript - 如何在不刷新 ReactJs 页面的情况下重新加载 URL?

javascript - react-router-dom 单击关闭引导模式窗口的链接

reactjs - React Router 否定路径

reactjs - 如何测试从mapDispatchToProps传递的函数(React/Redux/Enzyme/Jest)