【发布时间】:2020-05-22 16:18:25
【问题描述】:
我有一张以反应路由器路径为键的路线图,例如:
const routes = [
{
page: "mySettings",
label: "pages.mySettings",
path: "/professionels/mes-reglages.html",
exact: true
},
{
page: "viewUser",
label: "pages.viewUser",
path: "/users/:id/view.html",
exact: true
}
];
我想从使用useHistory().location.pathname 检索的位置匹配所有与 react-router 术语中的键匹配的路径,例如:
-
(pathname) => get(routesMap, "/professionels/mes-reglages.html")=> 应该匹配routesMap.get('/professionels/mes-reglages.html') -
(pathname) => get(routesMap, "/users/11/view.html")=> 应该匹配routesMap.get('/users/:id/view.html')
以及所有 react-router 路径,所以这也应该有效:
-
(pathname) => get(routesMap, "/users/11/settings/10/items/24/view.html")=> 应该匹配routesMap.get('/users/:userId/settings/:settingId/items/:id/view.html')
我从这里开始,知道如何使用正则表达式来做到这一点吗?
【问题讨论】:
标签: javascript node.js reactjs react-router react-router-dom