我正在尝试以支持这样的路由的方式来实现React Router:
/myPages/:pageName1/:pageName2/:pageName3/...
这个想法是,即使要渲染的页面只是最后一页,页面也是嵌套的,并且深度不是预先确定的。呈现实际页面的组件需要知道父页面的名称。
为澄清起见,其想法是后端中的页面数据采用树形结构,在上述示例中,page1是根页面,page 2是page1的子代,page 3是a的子代。 page2等的子级。此外,一页可以有多个子级。最后一个子名称(在示例中为pageName3)是用于查询数据库并获取呈现整个页面所需的所有内容的名称。父名称是呈现与导航相关的子组件所必需的。我还应该提到,仅拥有/myPages/:pageName3
并从后端获取所有父名称并不是一种选择。我可以从后端获取该信息,但是提供给用户的URL仍需要具有该结构。
我希望有一种方法可以将这种类型的信息作为数组获取,但是我很难在网上找到这样的例子。
答案 0 :(得分:1)
这可能会有所帮助。
状态:
要重定向的路径名。路径到regexp@^1.7.0可以理解的任何有效URL路径。
也许你可以结合
<Redirect from='/users/:id' to='/users/profile/:id'/>
与
var re = pathToRegexp('/:foo+', keys)
(摘自https://github.com/pillarjs/path-to-regexp/tree/v1.7.0#one-or-more)
然后您将得到
<Redirect from='/:pageName+/:id' to='/:id'/>