[英]Anchor tag redirects to react spa
我想在我的 react spa 中使用一个锚标签(使用 react-router)。 但是,例如,如果我给它一个href
值google.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.