【问题标题】:Anchor tag redirects to react spa锚标签重定向到反应温泉
【发布时间】:2019-12-05 00:47:03
【问题描述】:

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

【问题讨论】:

标签: javascript html reactjs react-router anchor


【解决方案1】:

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>

【讨论】:

    【解决方案2】:

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

    类似这样的:

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

    无需尝试使用 React Router 处理外部链接

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-06-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多