1 回答
TA贡献1794条经验 获得超8个赞
如果我了解您的应用程序结构,那么每个路由都会呈现一个页面组件,该MoreProjects组件位于页面底部。这意味着MoreProjects在 a 中呈现Route并且可以访问route-props。路线位置 pathname是您进行比较所需要的。
由于MoreProjects它是一个功能组件,因此您可以使用useLocation挂钩来获取此信息。
所以给定 URL www.roneilla.com/stellar,当前匹配location.pathname的是/steller.
function MoreProjects() {
const { pathname } = useLocation();
const moreProjects = projectData
.filter(({ link }) => link !== pathname) // <-- filter the link by current pathname
.map((project) => (
<MoreProjectCard
id={project.name}
key={project.name}
link={project.link}
title={project.title}
description={project.description}
/>
));
return (
<div className="section padding-h">
<h3 className="mb-50">View other projects</h3>
{moreProjects}
</div>
);
}
添加回答
举报