繁体   English   中英

锚标签重定向到反应水疗中心

[英]Anchor tag redirects to react spa

我想在我的 react spa 中使用一个锚标签(使用 react-router)。 但是,例如,如果我给它一个hrefgoogle.com ,它只会扩展我的水疗路线,比如myreactspa.com/sampleRoute/google.com 有什么办法可以让我的锚标签直接链接到google.com吗? 或者我必须附加,例如, https://到我的href值? 谢谢!

使用Route组件渲染null并更改窗口的位置。

<Route path='/externalresource' component={() => { 
     window.location.href = 'http://google.com'
     return null
}}/>

您应该将https://附加到您的 URL 并将a标记的target属性设置为_blank 处理外部链接不是 React Router 的问题。

所以像这样:

<a href="https://www.google.com target="_blank">Link</a>

没有必要尝试使用 React Router 来处理外部链接

react-router(和类似的)是专为 SPA 设计的。 当您尝试导航到另一个网站(外部链接)时,路由器不应该处理它。 如果您使用Link ,那么无论您通过什么路径,react-router 都会假定这是您的 SPA 的一条路径(这是预期的行为,而不是错误)。

如果您想从您的网络应用程序导航到另一个网站,请使用这样的普通锚标记

<a href="website_link">Click here</a>

如果要在新选项卡中打开页面,请使用

<a href="website_link" target="_blank" rel="noopener noreferrer">Click here</a>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM