React应用使用错误的URL(https而不是https)打开新标签页:

时间:2018-09-24 08:00:17

标签: javascript reactjs url react-router-dom semantic-ui-react

我正在使用react-router-dom包中的链接使我的semantic-ui-react <Dropdown.Item>组件在新标签中打开一些URL。 首先,我的问题是,当我单击该组件时,在新选项卡中,我想转到的URL附加到了本地主机路由,然后在SO https://stackoverflow.com/a/47447458/5833816上找到了解决方案。 那里说我应该在URL之前加上//,所以不是'https://someurl.com'而是'// https://someurl.com'

但是应用此解决方案并没有完全帮助。现在,在新选项卡中,URL不会追加到已经存在的本地主机URL中,而是用'https://someurl.com'打开,而不是'http // someurl.com'-因此,无需:

这是代码: 组件:

<Dropdown.Item
    as={Link}
    to={url} // url was 'https://someurl.com', now is '//https://someurl.com'
    target={newTab ? '_blank' : ''} // newTab's value is true
    replace={newTab}
    className='contextDropdownItem'
    onClick={onClick}
    disabled={disabled}
  >

当我单击此下拉菜单项时,浏览器打开新标签,但URL为http // someurl.com,不带:

semantic-ui-react的版本:0.81.1, 反应:16.4.1, react-router-dom:4.3.1

1 个答案:

答案 0 :(得分:0)

反应路由器不支持外部链接。请查看React-Router External link,了解有关如何解决此问题的一些想法,但我倾向于使用标准的<a href='...'>