reactjs - 我可以使用 React 路由器创建别名路由吗?

标签 reactjs vue.js react-router

我正在开发一个使用 React 和 React-router 构建的新项目。我计划以比以前更干净的方式重组我的路线。但是,我不想破坏用户可能拥有的旧书签。

例如,我的新路线可能如下所示:

    <Route  path="/" component={Layout}>
        <Route component={ItemList} path="items/:category"  />
        <Route component={ItemDetail} path="item/:designCode" />
    </Route>

一些示例路线可以是,比如 -/items/electronics,/items/gifts。

但是,我有一个遗留代码库,其中包含此类路由 -/electronic-items、/buy-gifts 等。

有没有一种方法可以创建路由别名,以便能够将这些遗留 URL 映射到新结构化的 URL?

我遇到过something similar in Vue 2.0 ,但我对 react 解决方案特别感兴趣。有什么建议(除了 - 使用重定向或使用 Vue 本身代替 :D)?

最佳答案

我正在使用 react-router-dom v4.3.1,从这个版本开始,可以将多个路径作为数组提供给 Route 组件上的路径属性,例如:

<Route path={["oldListUrl", "newListUrl"]} component={ItemList}/>

我相信这比重定向要好得多。希望这对您有所帮助!

关于reactjs - 我可以使用 React 路由器创建别名路由吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43493153/

相关文章:

javascript - 如何检查 Vuex 状态对象是否为空

javascript - 使 v 菜单标题固定在顶部

ReactJS - 关于路由器的问题

javascript - react 类没有被导出,我不明白为什么?

javascript - 从 vanilla JS 调用 React Router

android - react native : View Config not found for name RNCWebView

javascript - Gridsome/Vue.js : How do I reduce the core bundle size?

reactjs - 带有 Typescript 和 ThemeProvider 的 StyledComponents。什么是正确的类型?

javascript - 使用 React 将 iso 语言代码的值转换为语言

javascript - React router 4 附加额外的查询参数