首页 > 解决方案 > {Link} 没有在 reactjs 中使用正确的 URL

问题描述

我正在学习 Reactjs,在尝试使用 {Link} 访问外部网站时出现问题。

<Link to={repo.html_url}>
{repo.name}
</Link>

假设 repo.html_url 是
https://github.com/ningmeng7998/SmartER-Project-Android-Frontend
它没有把我带到这个 URL,而是把我带到http://localhost:3000/profile/https://github.com/ningmeng7998/SmartER-Project-Android-Frontend,它在它前面添加了 localhost。

如何解决这个问题呢?

标签: javascriptreactjsreact-router

解决方案


我假设您正在使用React Router 的 Link组件,因为它不是 vanilla React 的一部分。

目前,React RouterLink不支持外部 URL,它们仅用于在您的应用程序内部导航。您需要使用标准的 HTML 锚标记。尝试这个:

<a href={repo.html_url}>{repo.name}</a>

如果您想了解更多信息或了解更多信息,这里Link会围绕支持外部 URL的问题展开一些讨论。

另一种解决方案是实现您自己的Link处理逻辑的包装器(并最终<Link>为内部路由或<a>外部 URL 的标签输出一个组件)。


推荐阅读