【问题标题】:React: open link in a new tab反应:在新标签页中打开链接
【发布时间】:2020-07-08 19:56:15
【问题描述】:

我正在尝试这样做,以便当用户单击我的标签时,它会打开一个带有指定 URL 的新选项卡。它目前不工作。有什么想法我做错了什么或需要在我的方法中做什么?

rerouteToGoogle= () => {
    return <Link to="google.com" />

}

<MediaQuery query="(min-width: 550px)">
  <div style={styles.alignText}>
  <Label color='green' basic onClick={this.rerouteToGoogle} >CSV</Label>
  </div>
</MediaQuery>

【问题讨论】:

标签: javascript reactjs react-router


【解决方案1】:

&lt;Link&gt; 的目的是在 React 应用程序中从一个路由导航到另一个路由,例如从/home/about。如果您想在新选项卡中打开另一个站点,那么您不是在应用程序内部导航,因此您不能使用&lt;Link&gt;

在您的情况下,经典的&lt;a href="https://google.com" target="_blank"&gt; 将起作用。

因此,要解决您想要实现的目标,最简单的方法是在您的&lt;Label&gt; 中添加一个&lt;a&gt;

<MediaQuery query="(min-width: 550px)">
  <div style={styles.alignText}>
  <Label color='green' basic>
    <a href="https://google.com" target="_blank">CSV</a>
  </Label>
  </div>
</MediaQuery>

【讨论】:

  • 很好的答案,这是一个alternative,关于将&lt;a/&gt; 标记设置为表格单元格供参考。
【解决方案2】:

在您的情况下,rerouteToGoogle 呈现一个 Link 组件。我相信你想要实现的是在点击时打开新标签链接,而不是渲染它。 在这种情况下,只需将您的功能更改为

rerouteToGoogle= () => window.open('www.google.com', "_blank")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-05
    • 2013-11-30
    • 1970-01-01
    • 2011-09-29
    • 1970-01-01
    • 2020-07-27
    • 1970-01-01
    相关资源
    最近更新 更多