我想在我的React spa中使用锚标签(使用react-router)。但是,例如,如果我给它一个href
的{{1}}值,它只会扩展我的水疗路线,例如google.com
。有什么方法可以使我的锚标记直接链接到google.com?还是必须在我的myreactspa.com/sampleRoute/google.com
值后面附加https://
?谢谢!
答案 0 :(得分:1)
使用Route
组件渲染null
并更改窗口的位置。
<Route path='/externalresource' component={() => {
window.location.href = 'http://google.com'
return null
}}/>
答案 1 :(得分:0)
您应将https://
附加到URL上,并将target
标记的a
属性设置为_blank
。 React Router处理外部链接不是问题。
是这样的:
<a href="https://www.google.com target="_blank">Link</a>
无需尝试使用React Router处理外部链接
答案 2 :(得分:0)
反应路由器(及类似产品)是专门为SPA设计的。当您尝试导航到另一个网站(外部链接)时,不应由路由器来处理。如果您使用的是Link
,那么无论您通过的路径如何,react-router都将其假定为SPA的路由(这是预期的行为,而不是错误)。
如果您想从您的网络应用导航至另一个网站,请使用普通的定位标记
<a href="website_link">Click here</a>
如果要在新标签页中打开页面,请使用
<a href="website_link" target="_blank" rel="noopener noreferrer">Click here</a>