ant design pro 5.0 的菜单和路由没有直接的关系,一般程序可以没有菜单,但是不能没有路由;但是菜单配置的设置和路由的配置很像,容易从视觉上混淆。
路由配置中有一个exact字段,设置为yes是绝对匹配,而且不会匹配它的下一级路由,比如/a有子路由/a/b,那么就算url是/a/b匹配出来的结果还是/a的组件。没学过react-router的人应该会比较郁闷。
但是发现在5.0的这个版本中,就算exact设置为false,也不能正确匹配子路由,弄了很久,最终的解决方式是:把所有子路由都提升到一级路由
比如:
{
path: '/a'
routes: [
path: '/a/b'
]
}
改成
{
path: '/a'
},
{
path: '/a/b'
}
这样菜单中访问的路径就能匹配出正确的路由了。