You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为React项目卡片配置点击跳转外部URL的锚点标签

实现点击项目卡片图片跳转外部URL的方案

步骤1:修改/data/projects.js,给每条项目新增外部URL字段

在每条项目配置中增加url字段,填入对应项目的外部访问地址:

const projects = [
  {
    id: 'a',
    name: 'YoLo ecommerce',
    desc: ' chlotes for women, created in React.js',
    img: Yolo,
    url: 'https://你的YoLo项目实际外部地址' // 新增字段,填写真实链接
  },
  {
    id: 'b',
    name: 'My Crypto Tracker',
    desc: 'An App to see the Crypto market. React.js/Chart.js',
    img: Trade,
    url: 'https://你的Crypto项目实际外部地址' // 新增字段,填写真实链接
  },
]

步骤2:修改/pages/projects.js,给ProjectItem组件传递URL参数

在遍历渲染ProjectItem的逻辑中,新增传递项目url参数:

<div className="projects__allItems">
  {projectsData.map((item) => (
    <ProjectItem
      key={item.id}
      title={item.name}
      desc={item.desc}
      img={item.img}
      projectUrl={item.url} // 新增传递url参数
    />
  ))}
</div>

步骤3:修改/components/projectItem.js,替换路由Link为原生a标签

原本的Link是React路由内置组件,仅支持站内路由跳转,外部跳转需要使用原生a标签实现:

export default function ProjectItem({
  img = ProjectImg,
  title = 'Project Name',
  desc = 'Lorem Ipsum is simply dummy text of the printing and typesetting industry.',
  projectUrl = '/' // 新增入参,默认值可根据需求调整
}) {
  return (
    <ProjectItemStyles>
      {/* 替换路由Link为a标签处理外部跳转,新增的target和rel属性为外部跳转安全标准配置 */}
      <a href={projectUrl} target="_blank" rel="noopener noreferrer" className="projectItem__img">
        <img src={img} alt="project img" />
      </a>
      <div className="projectItem__info">
        <Link to="#">
          <h3 className="projectItem__title">{title}</h3>
        </Link>
        <p className="projectItem__desc">{desc}</p>
      </div>
    </ProjectItemStyles>
  );
}

如果需要项目标题也同步跳转外部链接,把标题外层的Link组件也替换为相同配置的a标签即可。

内容的提问来源于stack exchange,提问作者federico acosta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 21:54:05