在我的应用程序中,我有一个Badcrumb组件,它使用路由嵌套路径来显示面包屑.
const matches = useMatches();
function createBreadcrumbList() {
const breadcrumb = [];
matches.forEach((route, index) => {
const crumb = {};
crumb.label = BREADCRUMB_PAGE_MAP[route.id];
if (!crumb.label) return;
if (matches.length - index > 1) crumb.to = route.pathname;
breadcrumb.push(crumb);
});
return breadcrumb;
}
这将创建此格式的面包屑,
主页&>用户&>用户信息
当前设置可以很好地处理Badcrumb(主页、用户等)中的静态值.但我需要最后一条路由的动态值.对于User Info路径,我希望显示用户的名称和计数.
主页&>用户&>丹尼斯(10)
然而,该数据在路由加载之后动态加载.
是否可以触发在路由上设置此数据并导致Matches挂钩再次运行的操作?
这是Codesandbox的链接, https://codesandbox.io/s/router-breadcrumb-h6trtk个